- bind,call,apply的区别?
bind强指向
bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用
call传递多个参数 可以实现继承
function Product(name, price) {
this.name = name;
this.price = price;
}
function Food(name, price) {
Product.call(this, name, price); // 谁主导Product.call,Product主导所以用Product的属性
this.category = 'food';
}
console.log(new Food('cheese', 5).name);
// expected output: "cheese"
apply传递一个数组