每天分享一个小知识
bind,call,apply的区别
- call 和 apply 都是为了改变this的指向。作用是相同的,只是传参的方式不同。
- 除了第一个参数外,call 可以接受一个参数列表,apply 只接收一个参数数组。
- bind 和其他两个方法作用也是一致的,只是该方法会返回一个函数,并且我们可以通过bind实现柯里化。**
示例代码如下:
let a={
value:1
}
function getValue(name,age){
console.log(name);
console.log(age);
console.log(this.value);
}
getValue.call(a,'张三',24); //张三,24, 1
getValue.apply(a,['张三',24]); //张三,24, 1
let getValueBind=getValue.bind(a,'张三',24);
getValueBind(); //张三,24, 1
本文详细解读了JavaScript中call,apply和bind方法的作用,它们均用于改变函数内部this的指向。call接受参数列表,apply接收参数数组,而bind则返回一个新的函数并支持柯里化。通过实例演示了如何灵活运用这些技巧来操作对象的方法。
624

被折叠的 条评论
为什么被折叠?



