4

以下のコードでは、Javascript で出力を得ました: The Window

var name = "The Window";
var object = {
   name : "My Object",
       getNameFunc : function(){
         return function(){
           return this.name;
         };
       }
     };
console.log(object.getNameFunc()());

しかし、Node.jsの場合、出力を下回りました:未定義

私は混乱していました.Node.jsはjavascriptとの違いインタープリターを使用していますか?

4

2 に答える 2

4

ブラウザーでは、最上位のスコープはグローバル スコープです。つまり、ブラウザーでグローバル スコープ var にいる場合、何かがグローバル変数を定義します。

したがって、グローバル スコープで を実行するvar name = "The Window";と、 と同じになりwindow.name = "The window";ます。

ノードでは、これは異なります。最上位のスコープはグローバル スコープではありません。Node モジュール内の var something は、そのモジュールに対してローカルになります。

nameこれが、nodejs で取得できない理由です。

于 2013-08-30T05:11:40.330 に答える