我知道「this」如何在瀏覽器上下文中工作,以及它在不同情況下的值如何變化,例如使用箭頭函數如何調用函數。在node.js和瀏覽器中的函數上下文(this)之間的區別
我打印出「此」,在爲節點的js不同的場景(快遞JS,更具體),並且它含有更大量的數據 - 包括路徑名等
我的問題是:
1 。關於'this'的規則與node.js完全一樣嗎?
2.有沒有人可以解釋node.js'這個'對象的屬性或者指向一個簡單的文章。
謝謝!
我知道「this」如何在瀏覽器上下文中工作,以及它在不同情況下的值如何變化,例如使用箭頭函數如何調用函數。在node.js和瀏覽器中的函數上下文(this)之間的區別
我打印出「此」,在爲節點的js不同的場景(快遞JS,更具體),並且它含有更大量的數據 - 包括路徑名等
我的問題是:
1 。關於'this'的規則與node.js完全一樣嗎?
2.有沒有人可以解釋node.js'這個'對象的屬性或者指向一個簡單的文章。
謝謝!
瀏覽器中的this
與node.js沒有不同的規則。規則由ECMAScript標準設置,瀏覽器的Javascript實現和node.js中的實現遵循相同的ECMAScript標準。
您可能正在查看的是某個特定上下文中this
的「默認」值。在瀏覽器中,您可能正在查看this
的默認值,該值可能是window
對象。在node.js中,如果您看到文件名,您可能會將模塊句柄視爲this
或global
對象的默認值。
爲了更具體地幫助您,我們需要在每個環境中查看您正在檢查this
的值的位置處的代碼,並且還要知道您是否在嚴格模式下運行。
在大多數情況下,this
僅用於默認值,而不用於this
值設置爲的特定對象。例如,如果要調用類似:
obj.method();
然後,method
裏面執行,JavaScript解釋器將在this
值設置爲obj
。這是Javascript的面向對象特性的一部分。
This this
object is global
object is in the context。在節點是process
對象。
是的。 NodeJS只是JavaScript的一個運行時,所有JavaScript的規則應用完全一樣...... – Li357
*「任何人都可以解釋node.js'這個'對象屬性或指向我一個簡單的文章。'*我討厭說它,但這意味着「有人可以爲我寫谷歌並寫出摘要?」 – Tomalak