我在下面有这段代码:
this.color = "red";
var o = {color: "blue"};
function sayColor() {
console.log(this.color);
}
sayColor();
sayColor.call(this);
sayColor.call(o);
@吉姆·德维尔,
以下是新发现:
- 当我在浏览器中运行该代码片段时:它连续输出"red, red, blue" 。
- 当我直接在节点终端中运行它时:它还会连续输出"red, red, blue" 。
- 但是当我将该代码保存为文件 functionTypeThisExample.js 并
node functionTypeThisExample.js
在终端中执行时,它会输出"undefined, red, blue"。
所以我的问题是在最后一种情况下会发生什么?