簡體   English   中英

為什么布爾值未定義?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM