2016-03-01 69 views
0

在瀏覽器中,全局變量實際上是window對象的屬性。模塊範圍中聲明的變量不是模塊對象的屬性嗎?

如果我在Node.js中聲明一個帶有var關鍵字的變量,那麼它是否屬於module對象?

var aaa = 'aaa'; 
console.log(module.aaa); // undefined 

爲什麼沒有定義? Node.js中的模塊對象是否遵循與瀏覽器中的全局對象相同的邏輯?

回答

2

它會是模塊對象的屬性嗎?

不,這就解釋了爲什麼它是undefined。除非通過exportsmodule.exports明確暴露,否則任何在模塊內定義的內容都將包含在該模塊中。

+0

所以它會像一個「正常」的局部變量?像函數中的局部變量不是任何對象的屬性?只是爲了確保我理解正確 –

+0

@ potato300是的。 – Joseph