2017-07-29 5 views
0

ブラウザコンテキストで「this」がどのように機能し、矢印関数を使用して関数が呼び出されるときなど、さまざまなシナリオで値がどのように変化するかを知っています。node.jsとブラウザの関数コンテキスト(this)との違い

私は「この」ノードJSのためのさまざまなシナリオに(急行JS、より具体的には)をプリントアウトし、それがより多くのデータが含まれているされて - パス名を含むなど

を私の質問は次のとおりです。
1 。これについてのルールはnode.jsとまったく同じですか?
2.誰でもnode.js 'this'オブジェクトのプロパティを説明することができます。

ありがとうございました!

+1

はい。 NodeJSはJavaScriptのランタイムに過ぎず、JavaScriptのルールはまったく同じです... – Li357

+0

* "node.jsにはこのオブジェクトのプロパティを説明することができますか、単純な記事を指し示すことができますか?"しかし、これは "誰かが私のためにGoogleを書いてサマリーを書くことができますか?" – Tomalak

答えて

2

thisのブラウザとnode.jsのルールは異なります。ルールはECMAScript標準によって設定され、ブラウザのJavascript実装とnode.jsの両方が同じECMAScript標準に従います。

特定のコンテキストでは、おそらくthisの「デフォルト」の値が表示されます。ブラウザでは、おそらくオブジェクトであるかもしれないthisのデフォルト値を調べているでしょう。 node.jsにファイル名が表示されている場合は、thisまたはglobalオブジェクトのデフォルト値としてモジュールハンドルを調べている可能性があります。

より具体的には、それぞれの環境でthisの値を調べていた場所のコードを参照する必要があります。厳密なモードで実行しているかどうかもわかります。

ほとんどの場合、thisはデフォルト値ではなく、の値が設定されている特定のオブジェクトでのみ使用されます。

obj.method(); 

その後、methodの実装内では、JavaScriptインタプリタはobjthisの値を設定します。たとえば、次のようなものを呼び出している場合。これは、Javascriptのオブジェクト指向の性質の一部です。

1

このthisオブジェクトは、そのコンテキストにあるglobalオブジェクトが何であれです。 processオブジェクトのノード。

関連する問題