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