从同一对象中访问JS对象的成员或方法

时间:2014-07-30 15:52:02

标签: javascript object methods this member

我有以下脚本,我正在尝试为应用程序创建配置对象:

  var myConfig = {
  localDBAllowed: function () {
      return window.openDatabase;
  },
  MessageBox: function (message, title) {
      if (navigator.notification) {
          navigator.notification.alert(message, null, title, 'OK');
      } else {
          alert(message);
      }
  },
  initializeDb: function(){
      if (localDBAllowed) {
          messageBox('local db allowed', '');
      } else {
          messageBox('local db not allowed', '');
      }
  }
  };
  myConfig .initializeDb();

我得到的错误是localDBAllowed未定义..来自以下行:if (localDBAllowed) {

我的问题是如何从理智的对象中访问对象的成员/方法。 我尝试使用此关键字但没有成功,如下所示:

 if (this.localDBAllowed) {
            messageBox('local db allowed', '');

2 个答案:

答案 0 :(得分:1)

this.localDBAllowed

不会返回任何值,请尝试

this.localDBAllowed()

应该做的伎俩

答案 1 :(得分:0)

这个对我有用。 (双关语)

var myConfig = {
  localDBAllowed: function () {
      return window.openDatabase;
  },
  messageBox: function (message, title) {
      if (navigator.notification) {
          navigator.notification.alert(message, null, title, 'OK');
      } else {
          alert(message);
      }
  },
  initializeDb: function (){
      if (this.localDBAllowed) {
          this.messageBox('local db allowed', '');
      } else {
          this.messageBox('local db not allowed', '');
      }
  }
};

myConfig .initializeDb();

我所做的就是将this标识符添加到对象中调用函数或变量的区域。