1. 程式人生 > 其它 >快速理解js中的全域性物件?

快速理解js中的全域性物件?

技術標籤:Javascriptjs前端

var宣告的全域性變數

var globalVal = '全域性變數';

//瀏覽器中,全域性物件一般指代window
console.log(globalVal === window.globalVal);//true

//Node.js中,全域性物件一般指代global
console.log(globalVal === global.globalVal);//true

//日常開發時常用this指代全域性物件
console.log(globalVal === this.globalVal);//true

同理使用let宣告的全域性變數(非嚴格模式下),和使用var宣告的全域性變數對應的全域性物件完全相同。

全域性物件指最頂層的物件,在瀏覽器中指window物件,在Node.js中指global物件。在Javascript中,所有的全域性變數都是全域性物件的屬性。

ES6中:var和function宣告的全域性變數,均屬於全域性物件的屬性;let、const、class宣告的全域性變數,不屬於全域性物件的屬性。