js中的call apply bind
call方法
call是函数中的方法..
1.call:可以调用函数,并改变this指向
let dog={
name:"wang",
sayHi:function(){
console.log(this.name);
}
}
let cat={
name:'miao'
}
dog.sayHi() //wang
dog.sayHi.call(cat) //miao
2.带参数的call
fn.call(this,参数1,参数2...)

apply
apply跟call使用方法一样,不同的是传参,apply传参是通过数组
dog.sayHi.call(cat,['鱼','肉'])
bind
bind和call一样,只是不会调用对象,会返回一个函数
let fn=dog.sayHi.bind(cat,'鱼','肉')
fn()
这两行相当于dog.sayHi.call(cat,'鱼','肉')
本文来自博客园,作者:Kira的学习笔记,转载请注明原文链接:https://www.cnblogs.com/kira2022/p/16105798.html

浙公网安备 33010602011771号