我已经知道 apply
和 call
是设置 this
(函数的上下文)的类似函数。
不同之处在于我们发送参数的方式(手动与数组)
问题:
但是我什么时候应该使用 bind()
方法?
var obj = {
x: 81,
getX: function() {
return this.x;
}
};
alert(obj.getX.bind(obj)());
alert(obj.getX.call(obj));
alert(obj.getX.apply(obj));
原文由 Royi Namir 发布,翻译遵循 CC BY-SA 4.0 许可协议
我刚才在函数对象、函数调用、
call/apply
和bind
之间创建了这个比较:.bind
允许您 现在 设置this
值,同时允许您 在将来 执行该函数,因为它返回一个新的函数对象。