首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么布尔值未定义?

为什么布尔值未定义?
EN

Stack Overflow用户
提问于 2012-04-17 18:59:21
回答 4查看 3.7K关注 0票数 1

在javascript中,我这样做:

代码语言:javascript
复制
var myObject = {
  myBoo: false,
  myMethod: function () {
     console.log("my method: "+ myBoo);
  }
}
console.log("myObject.myBoo=" + myObject.myBoo);
myObject.myMethod();

这将输出以下内容:

代码语言:javascript
复制
myObject.myBoo=false
ReferenceError: myBoo is not defined

从myMethod的角度来看,为什么myBoo是不可战胜的?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-17 19:02:31

这是因为myBoo没有定义为全局变量,而是定义为对象属性。因此,在myMethod函数中访问它的正确方式是:

代码语言:javascript
复制
console.log("my method: "+ this.myBoo);
票数 3
EN

Stack Overflow用户

发布于 2012-04-17 19:01:45

您需要添加以引用该对象:

代码语言:javascript
复制
myMethod: function () {
    console.log("my method: "+ this.myBoo);
}

这里有一个小把戏:http://jsfiddle.net/9xB83/

这里有一篇关于 http://www.quirksmode.org/js/this.html的好文章。

票数 2
EN

Stack Overflow用户

发布于 2012-04-17 19:01:55

myBoo是对象的一个属性,因此您必须引用对象本身来访问它。

它应该是myMethod函数()中的this.myBoo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10189927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档