快速理解js中的全域性物件?
阿新 • • 發佈:2021-02-11
技術標籤: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宣告的全域性變數,不屬於全域性物件的屬性。