<分区>
我创建了一个对象,该对象具有一个函数,该函数使用“this”关键字引用自身的一个属性。
如果我正常调用它,它工作正常。但是,如果我将它作为参数传递给 forEach 函数,它就不起作用,除非我将它绑定(bind)到自身。
有没有更优雅的解决方案?
这是一个例子:
var foobar = {
foo : function (number) {
this.bar();
},
bar : function () {
return "string"
}
};
foobar.foo(0);
[1,2,3].forEach(foobar.foo); //won't work
[1,2,3].forEach(foobar.foo.bind(foobar)); //works
fiddle :http://jsfiddle.net/q29yatc2/