[英]Why does console.log(this) in node return an empty object?
當我在節點中運行 console.log(this) 時,它返回空對象
console.log(this) // return { }
但是當我在節點中使用 IIFE
(function printThisObject(){
console.log(this); // return the global object
})();
誰可以給我解釋一下這個 ?
因為 NodeJS 在module 中運行您的代碼,並且this
引用了它為您的模塊導出創建的對象(這也是它為您提供的module
變量上的exports
屬性)。 (因為他們並沒有在模塊文檔中真正提到這一點,我懷疑使用它可能不是一個好主意 - 改用exports
。)
但是您調用 IIFE 的代碼使用this
引用全局對象來調用它,因為在松散(非嚴格)模式下,不通過對象屬性調用普通函數將this
設置為全局對象。 (在嚴格模式下, this
在那里是undefined
。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.