3
我在nodejs上運行此代碼。我想知道爲什麼在執行時不關閉字符串'Globals'?封閉體中的this
不是指向全局範圍嗎?Javascript關閉按預期工作
// Running on NodeJS, not in a browser!
this.name = "Globals";
function Person(name) {
this.name = name;
this.namePrinter = function() {
return function() {
console.log(this.name);
}
}
}
var p = new Person("Faiz");
p.namePrinter()(); // prints undefined. Shouldn't it print Globals?
console.log(this.name); // prints Globals
^^當然!衛生署。 –
很好地解釋了+1 –
'setTimeout'是如何進入答案的?我修好了,但我很好奇。這實際上是一個愚蠢的? –