[英]Why is the boolean undefined?
在javascript中,我這樣做:
var myObject = {
myBoo: false,
myMethod: function () {
console.log("my method: "+ myBoo);
}
}
console.log("myObject.myBoo=" + myObject.myBoo);
myObject.myMethod();
輸出:
myObject.myBoo=false
ReferenceError: myBoo is not defined
從myMethod的角度來看,為什么myBoo無法確定?
謝謝。
這是因為myBoo沒有定義為全局變量,而是定義為對象屬性。 因此,在myMethod
函數中訪問它的正確方法是:
console.log("my method: "+ this.myBoo);
您需要添加此對象以引用該對象:
myMethod: function () {
console.log("my method: "+ this.myBoo);
}
這是一個小提琴: http : //jsfiddle.net/9xB83/
這是有關此 http://www.quirksmode.org/js/this.html的精彩文章。
myBoo是對象的屬性,因此您必須參考對象本身來訪問它。
它應該是myMethod函數中的this.myBoo()
您的函數“ myMethod”正在嘗試訪問在函數上下文中不存在的局部變量myBoo! 您的意思是使用this.myBoo。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.