2012-04-17 173 views
1

在javascript中我做的:爲什麼boolean未定義?

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 

爲什麼myBoo從myMethod的角度來看undefeind?

謝謝。

回答

3

這是因爲myBoo沒有被定義爲一個全局變量,而是作爲一個對象的屬性。因此在myMethod函數訪問它的正確方法是:

console.log("my method: "+ this.myBoo); 
1

myBoo是對象的一個​​屬性,因此您必須通過引用對象本身來訪問它。

應該this.myBoo在myMethod的功能()

1

你的函數「myMethod的」正試圖訪問本地變量myBoo這不會在功能方面存在!你的意思是使用this.myBoo。