本文主要是介绍call apply bind 修改this指向的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
var obj1 = {name: 'zhang',getName() {console.log(this.name)}}var obj2 = {name: 'list',getName() {console.log(this.name)}}obj1.getName.call(obj2) //listobj1.getName.apply(obj2) //listobj1.getName.bind(obj2) // obj2.getName() //list
call 改变this,自动执行函数,
apply 改变this,自动执行函数,第二个参数开始:将原函数的参数放在一个数组中
bind 改变this,手动加括号执行函数(),不会自动执行
这篇关于call apply bind 修改this指向的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!