我需要一些帮助
var foo = {
bar: function () {
return this.baz;
},
baz: 1
};
(function () {
return typeof arguments[0]();
})(foo.bar);
执行此代码段时返回'undefined' 有人可以解释一下为什么会这样吗?
答案 0 :(得分:0)
您需要使用正确的范围进行通话。显式设置foo作为范围给出了预期的结果。
var foo = {
bar: function () {
return this.baz;
},
baz: 1
};
(function () {
return arguments[0].call(foo);
})(foo.bar);