10

ブラウザで実行すると、「ウィンドウ」オブジェクトにアタッチされているすべてのものが自動的にグローバルオブジェクトになります。Nodejsと同様のオブジェクトを作成するにはどうすればよいですか?

mySpecialObject.foo = 9;
var f = function() { console.log(foo); };
f();  // This should print "9" to console
4

6 に答える 6

7

そのために事前定義されたオブジェクトglobalを使用できます。fooオブジェクトのプロパティとして定義するとglobal、それ以降に使用されるすべてのモジュールで使用できるようになります。

たとえば、app.js では次のようになります。

var http = require('http');
var foo = require('./foo');

http.createServer(function (req, res) {
  //Define the variable in global scope.
  global.foobar = 9;
  foo.bar();    
}).listen(1337, '127.0.0.1');

そしてfoo.jsで:

exports.bar = function() {
  console.log(foobar);
}

オブジェクトは既に定義さvarれているため、キーワードを使用しないでください。global

ドキュメントについては、http://nodejs.org/api/globals.html#globals_globalを確認してください。

于 2013-01-22T06:15:00.927 に答える
3

process代わりにグローバルなものを添付できますwindow

于 2013-01-22T05:57:52.367 に答える