2012-04-17 132 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。