JS中this问题

1、this是什么?
-所有函数内部都有一个变量this,是函数运行时,在函数内部自动生成了一个对象,只能在函数中使用
- 函数使用的方式不同,this不同。this就是调用当前函数的对象(函数运行时所在的环境对象)
2、this指向问题
  
  

 


  3、改变this指向(重定向)

  


三种方式:apply、call与bind
-B.apply(obj, arguments):接受两个参数,新对象和数组,向方法中传入的参数必须放在数组中,即使只有一个参数也是
-B.call(obj, args1,args2):接受多个参数
-bind(obj, arguments):返回一个新函数,需要重新调用
例如:
p.setColor.call(obj,"black",'red','blue');
p.setColor.apply(obj,["black",'red','blue']);

let newFun=p.setColor.apply(obj,["black",'red','blue']);
newFun()

4、特殊情况

  

 

posted @ 2019-10-11 14:40  我就是要学习  阅读(179)  评论(0编辑  收藏  举报