![](/img/trans.png)
[英]In Javascript, how can I check the existence of a specific key/value pair nested inside another key/value pair?
[英]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
里面deleteAndQuery
将AccDocs
,因为它是第一个对象到最后的左边.
,但如果你是到第一个副本query
到另一个变量,然后调用query()
它传递给setTimeout
,或者如果你使用call
或apply
则价值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.