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...)
image

apply

apply跟call使用方法一样,不同的是传参,apply传参是通过数组
dog.sayHi.call(cat,['鱼','肉'])

bind

bind和call一样,只是不会调用对象,会返回一个函数

let fn=dog.sayHi.bind(cat,'鱼','肉')
 fn()

这两行相当于dog.sayHi.call(cat,'鱼','肉')

posted @ 2022-04-06 12:00  Kira的学习笔记  阅读(33)  评论(0)    收藏  举报