定义: 把函数拷贝一份,并插入到对象作用域上面。
语法: obj.e = func.bind(obj, args1, args2)
bind和call的区别:
call是把函数拿到对象中使用并删除,bind没有删除,且bind需要赋值才能执行。
function add() {
return this.x + this.y;
}
var obj = {
x: 1,
y: 2,
}
obj.e = add.bind(obj) // 不赋值会报错
console.log(obj.e())

bind赋值的时候可以传默认值,在执行的时候也可以传值。