2017-08-15 16 views
0

IはクロムDEVツールのコードconsole.log(this);を入力すると、それが表示のNode.js:クロムのグローバルスコープと

Window {stop: function, open: function, alert: function, confirm: function, prompt: function…} 

を私はNode.jsの中に同じコード(v6.11.1)を実行するときに表示されます

{} 

グローバルオブジェクトに関する情報を表示しないでください。ノードモジュールのトップレベルコードで

(当該コードが実行される唯一のものであり、それはプログラムの一部ではない。)

+0

これらはすべてウィンドウ/ブラウザの方法です。ノード・モジュールが地球環境のように見えるのはなぜでしょうか? – Andy

+0

私は、このコードが暗黙のうちに 'モジュール'にカプセル化されているという事実を知らなかった。ありがとう。 – igobivo

答えて

1

このがmodule.exportsは同等です。それはあなたが見る空のオブジェクトです。たとえば、次のブラウザで

module.exports.a = 'test'; 
console.log(this); // 'test' 

"use strict" -directiveを使用せず、このグローバルオブジェクト(ウィンドウ)を指します。

+0

ありがとう、私は今それを得る。また、この質問にスポットがあります:https://stackoverflow.com/questions/15406062/in-what-scope-are-module-variables-stored-in-node-js – igobivo

関連する問題