在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是不可战胜的?
谢谢。
发布于 2012-04-17 19:02:31
这是因为myBoo没有定义为全局变量,而是定义为对象属性。因此,在myMethod函数中访问它的正确方式是:
console.log("my method: "+ this.myBoo);发布于 2012-04-17 19:01:45
您需要添加此以引用该对象:
myMethod: function () {
console.log("my method: "+ this.myBoo);
}这里有一个小把戏:http://jsfiddle.net/9xB83/
这里有一篇关于 http://www.quirksmode.org/js/this.html的好文章。
发布于 2012-04-17 19:01:55
myBoo是对象的一个属性,因此您必须引用对象本身来访问它。
它应该是myMethod函数()中的this.myBoo
https://stackoverflow.com/questions/10189927
复制相似问题