首页 > javascript学习 > JavaScript > JavaScript中call()、apply()、bind()的用法
2020
07-03

JavaScript中call()、apply()、bind()的用法

call()、apply()、bind() 都是用来重定义方法中this指向的对象,它们的传入参数:

这三个方法都是第一个传入需要重定义this指向的对象,不同的是
call()按照函数定义的参数顺序依次传入参数
apply()需要以一个参数数组的形式传入
bind()传参和call()相同,不同的是bing()返回的是一个方法,后面需要在添加一对括号调用该返回的方法

    fun.call(new_obj,arg1,arg2...,argn)
    fun.apply(new_obj,[arg1,arg2...,argn])
    fun.bind(new_obj,arg1,arg2...,argn)()

应用实例:

var name='小王',age=17;
var obj={
    name:'小张',
    fun:function(weight){
        console.log(this.name+'年龄'+this.age+',体重'+weight);
    }
}
var new_obj={
    name:'李四',
    age:20
}
obj.fun.call(new_obj,95)
obj.fun.apply(new_obj,[95])
obj.fun.bind(new_obj,95)()
//李四年龄20,体重95
最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。