繁体   English   中英

如何在另一个键/值对中使用定义的键

[英]How can I use defined key in another key/value pair

我有这个javascript对象:

return {
   AccDocs: {
      query: function() {
         ...
      },
      deleteAndQuery: function() {
         ...
         AccDocs.query(); //Error: AccDocs is not defined
      }
   }
}

但是,它返回一个错误,指出AccDocs is not defined
我怎样才能实现这样的目标?

对象上的变量和属性是不同的东西。 如果不指定您要表示的对象,则无法访问对象的属性。

可能可以使用this关键字访问它:

this.query();

该值牢记this取决于该函数是如何被调用时( abcdAccDocs.deleteAndQuery()被调用, this里面deleteAndQueryAccDocs ,因为它是第一个对象到最后的左边. ,但如果你是到第一个副本query到另一个变量,然后调用query()它传递给setTimeout ,或者如果你使用callapply则价值this将改变)。

为了提高鲁棒性(但灵活性较低,因为能够更改上下文可能会有用),可以将对象存储在变量中,并可以按名称访问。

var AccDocs = {
    query: function() {
            ...
    },
    deleteAndQuery: function() {
            ...
        AccDocs.query();
    }
};

return { AccDocs: AccDocs };

通过使用this关键字:

return {
   AccDocs: {
      query: function() {
         ...
      },
      deleteAndQuery: function() {
         ...
         this.query(); //Here
      }
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM