47

これを node.js に入力すると、undefined.

var testContext = 15;
function testFunction() {
  console.log(this.testContext);
}
testFunction();
=>undefined

キーワードなしvarで合格 (=>15)。Chrome コンソールで動作しています (varキーワードの有無にかかわらず)。

4

4 に答える 4

5

ドキュメントに記載されているように

Node.js モジュール内の var something は、そのモジュールに対してローカルになります。

したがって、 がvar testContextモジュール コンテキストにあり、 this のコンテキストが であるため、異なるものになりますglobal

または、次を使用できます。

global.testContext = 15;
function testFunction() {
  console.log(this.testContext);
}
testFunction();
于 2015-11-25T06:21:48.113 に答える
0

問題はthisキーワードに関係していると思います。実行console.log(this)すると、testContext が定義されていないことがわかります。あなたは試してみたいかもしれません:

this.testContext = 15;
function testFunction() {
  console.log(this.testContext);
}
testFunction();
于 2013-11-08T02:01:23.120 に答える