簡體   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