每个人我都是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
答案 0 :(得分:-3)
在浏览器中,this
默认为window
。