javascript改变this指向之call、apply、bind
2020-06-28 04:54
120 查看
var obj1={ name:'obj1', sendMsg:function(source,num){ console.log(num+':'+source+'更改了this指向现在的this是',this.name); } } var obj2={ name:'obj2' } obj1.sendMsg.call(obj2,'obj1',1) obj1.sendMsg.apply(obj2,['obj1',2]) obj1.sendMsg.bind(obj2,'obj1',3)() // obj1.sendMsg.bind(obj2)('obj1',3)参数写这里也可以
联系:他们的第一个参数都是要指向的对象,第二个参数是要传递的参数
区别:
- call和apply直接调用函数,而bind返回的仍然是一个函数,需要对返回的函数再调用才行
- call和apply 的参数要放到数组里面
注:如果用的是箭头函数,用上面这三种方法都不会改变this的指向的
相关文章推荐
- JavaScript改变this指向apply、call和bind方法
- JavaScript中call,apply,bind方法的总结(改变this指向)
- 改变this指向(call、apply、bind)
- 2019-07-17 JavaScript-原生JS中this指向以及call,apply,bind的个人理解
- call,apply,bind改变this指向
- ES6--改变this指向 call、apply、bind
- 改变this指向:call,apply,bind
- js中改变this指向的三个常用方法bind,call和apply
- 函数内this指向的不同场景,以及如何改变this的指向(bind,call,apply)
- JS中改变this指向的方法(call和apply、bind)
- 详解改变this指向的三种方法call apply bind及重写(模拟)
- JavaScript---浅谈函数this指向之 call()、apply()、bind()方法
- js中this的改变指向的方法:call和apply、bind
- JavaScript中的call(),apply(),bind()方法 关于this指向
- js中改变this指向的三种方法(bind、call、apply)
- 改变【this】指向的三种方式(call、apply、bind)对比
- js call() apply() bind() -改变this指向
- JS中改变this指向的方法(call和apply、bind)
- call,apply,bind方法改变this指向的原理
- JS中的this指向问题以及apply、call、bind的使用