简单理解this指向

2019-06-22  本文已影响0人  Sun晨淏

this的指向

函数体.call(obj)
obj1={
   fn:function(){
 
   }
}
obj2 = {
   fn:function(){
 
   }
}

obj1.fn.call(obj2,,,,,,) call方法传参只需要使用多个逗号隔开
apply方法需要将参数放在一个数组里
以上两个方法改变函数的this指向并立即调用该函数

bind在使用形式上合上面两个call和apply一样
只不过不立即调用,经常在定时器,或其他回调函数等不立即调用的函数改变this指向时使用
setTimeout(function(){}.bind(obj),1000)
该匿名函数在1000毫秒后调用,使用bind改变this指向又不立即调用,符合该使用场景

var obj1 = {
            name:'zhangsan',
            returName:function(){
            return this.name;
            }
 }
 var obj2 = {
           name:'lisimao',
           returName:function(str){
           return this.name+str;
           }
  }
console.log(obj2.returName.apply(obj1,['666']))
上一篇下一篇

猜你喜欢

热点阅读