一个小例题理解this的指向性

2018-03-11  本文已影响0人  我不是小叮当

分析:

  1. obj.dbl()执行时,相当于window.obj.dbl()执行,所以
    全局变量val=全局变量val*2=1*2=2
    this.val=this.val*2=obj.val*2=2*2=4
    此时控制台输出的val是全局变量val=2,this.val=4
  2. func()执行时,则相当于window.func()执行,所以
    this.val=window.val*2=全局变量val*2=2*2=4
    全局变量val=全局变量val*2=4*2=8
    此时控制台输出的val和this.val均为全局变量val,而全局变量val经过上面的两次赋值已经变为8。

注:var func=obj.dbl只是把函数赋值给了变量,并没有执行函数
image.png
上一篇 下一篇

猜你喜欢

热点阅读