内部函数是外部函数的属性吗?

时间:2011-10-14 09:02:20

标签: javascript function

Function.prototype.test = function(){return "F"}
function hh(){var x="xx";function test(){return "f"}}

print(hh.test());

结果是“f”,这是否意味着内部函数是外部函数的属性?

==更新了我的代码,但结果仍是“f”。 !_!

2 个答案:

答案 0 :(得分:4)

结果应该是错误 - 至少在Chrome中,它是。

test内的hh是本地函数,不应该从外部访问。

至于Function.test,它是Function的属性 - 不是所有函数的成员。如果您确实希望将某些内容作为所有功能的成员,则需要将其添加到Function.prototype

答案 1 :(得分:1)

您确实设法从此代码中获得了结果?您正在尝试打印结果。

hh.test将被定义为test被私下定义为hh。在原型Function.prototype.test上定义测试将在此实例中从hh.test返回“F”。