![](/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.