Node.js似乎使用不同的規則將變量附加到global
對象,無論這是在REPL還是在腳本中完成的。關於Node.js中的全局變量
$ node
> var a = 1;
undefined
> a
1
> global.a
1
> a === global.a
true
如圖中REPL工作時,聲明一個變量與上面var
創建與global
對象上該變量的名稱的新屬性。
然而,這似乎並沒有在腳本的情況:
// test.js
var a = 1;
console.log(a);
console.log(global.a);
console.log(a === global.a);
讓我們運行腳本:
$ node test.js
1
undefined
false
這究竟是爲什麼?
足夠清楚,我使用。 –