私は以下のコードを持っています:
this.color = "red";
var o = {color: "blue"};
function sayColor() {
console.log(this.color);
}
sayColor();
sayColor.call(this);
sayColor.call(o);
@ジムデビル、
ここに新しい発見があります:
- そのコードスニペットをブラウザで実行すると、「赤、赤、青」が継続的に出力されます。
- ノード端末で直接実行すると、「赤、赤、青」も連続して出力されます。
- しかし、そのコードをファイルfunctionTypeThisExample.jsとして保存し
node functionTypeThisExample.js
、ターミナルで実行すると、 「undefined、red、blue」が出力されます。
だから私の質問は最後の状況で何が起こるのですか?