簡體   English   中英

返回內部如何調用工廠函數方法?

[英]How to call factory function method inside return?

function shared() {
  return {
    lot: function() {
      console.log('crawling');
    },
    pot: function() {
      lot();
      console.log("crawled");
    }
  }
}
var share = new shared();
share.pot();

投擲

錯誤批次不是功能

如何調用手數法

我有這樣的現有函數結構,如何在不更改結構的情況下調用lot方法

this.lot();

您在一個對象內部(!=范圍)。 您試圖在Scope內獲取函數,但它不在范圍內。 它是同一對象的一部分,因此使用此...

Scope:
window -> lot 
window -> pot //lot isnt in the scope, just window is

this:
 pot -> (this = Object ) this.lot = Object.lot

正如工程師指出的那樣,您不需要new,因為它不是構造函數:

 share=shared();
 share.pot();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM