Function.prototype.test = function(){return "F"}
function hh(){var x="xx";function test(){return "f"}}
print(hh.test());
结果是“f”,这是否意味着内部函数是外部函数的属性?
==更新了我的代码,但结果仍是“f”。 !_!
答案 0 :(得分:4)
结果应该是错误 - 至少在Chrome中,它是。
test
内的hh
是本地函数,不应该从外部访问。
至于Function.test
,它是Function
的属性 - 不是所有函数的成员。如果您确实希望将某些内容作为所有功能的成员,则需要将其添加到Function.prototype
答案 1 :(得分:1)
您确实设法从此代码中获得了结果?您正在尝试打印结果。
hh.test
将被定义为test
被私下定义为hh。在原型Function.prototype.test
上定义测试将在此实例中从hh.test
返回“F”。