如果传递到对象a的calculate(z(中,绑定是否被认为是作用域x的适当"最佳实践"?
var a = {
x: 10,
calculate: function(z){
return this.x + this.y + z;
}
};
a.calculate.bind({x:a.x, y:3})(10); // 23
否,使用a.calculate.bind({x:a.x, y:3})(10)
不是最佳做法。您正在寻找.call()
:
a.calculate.call({x:a.x, y:3}, 10)