为什么“ this”关键字总是在node.js中返回未定义?

时间:2019-11-11 19:05:56

标签: javascript node.js this

每个人我都是JS的初学者。我阅读文章。据我所知,“此” 关键字是一个全局对象。如果我们使用” strict “ ,那么它将未定义。。为什么我在javascript浏览器和Node.js版本中获得不同的输出。有人可以向我解释一下吗?

scenario1:

(Javascript Browser):

var count=5;

console.log(count);  //5

console.log(this.count); //5


(Node.JS 12.13.0)

var count=5;

console.log(count);  //5

console.log(this.count); //undefined


scenario2:

(Javascript Browser):

function ghost() {
  console.log(this.boo);
}

ghost(); // ABC

var boo = 'ABC';

ghost(); //ABC

(Node.JS 12.13.0)

function ghost() {
  console.log(this.boo);
}

ghost(); // undefined

var boo = 'ABC';

ghost(); //undefined

1 个答案:

答案 0 :(得分:-3)

在浏览器中,this默认为window