function 中的 this
by 蘇德宙, 2012-06-06 12:15, 人氣(1365)
this 一般會指向 global,因此如果是物件,要特別小心要用 new
function obj() {
this.value = "v";
}
var o = obj(); // 錯誤,this 指向 global, browser 中通常是 window
var o = new obj(); // this 指向物件
解決方法 ~ 自我呼叫的建構式
function obj() {
if (!(this instanceof obj)) {
return new obj();
}
this.value = "v";
}