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