不同上下文中的this值
- 全局作用下的this值為window
globalthis.png
- 在函數上下文中
-
在沒有任何嵌套的函數中,this取決于是否使用了嚴格模式
this引用的是window對象
image2.png
“'use strict' 展示的行為就是為了防止意外的聲明全局變量。
image3.png
- 在模塊模式中
在模塊模式上下文中,模塊里面的方法或者函數中的this引用的都是整個模塊
iamge4.png
,因此在內部通過this調用
iamge5.png
如果在方法里面包含一個匿名函數,this指向window
image6.png
如果是箭頭函數
this指向的是包含它的外面的函數
var x = "111"
var obj = {
x:"222",
sayX: () => {
console.log(this.x)
}
}
obj.sayX(); ====>222