为什么boolean未定义?
问题描述:
在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?
谢谢。
答
这是因为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是对象的一个属性,因此您必须通过引用对象本身来访问它。
应该this.myBoo在myMethod的功能()
答
你的函数“myMethod的”正试图访问本地变量myBoo这不会在功能方面存在!你的意思是使用this.myBoo。