簡體   English   中英

調用沒有括號的javascript函數

[英]Calling javascript functions without parenthesis

當我閱讀jQuery的一些代碼時,我在他們的一個小部件中找到了它

    option: {
        _page: this._getPage,
        _panelInner: this._getPanelInner()
    },
    _getPage : function(){ //code goes here that returns something..},
    _getPanelInner : function(){ //code goes here that returns something..}

我想知道第一個this._getPage函數在沒有括號的情況下如何被調用。 如果可以這樣調用函數,那么為什么要用括號調用下一個函數_getPanelInner

它不會被調用,它僅具有對該函數的引用,因此以后您可以執行以下操作:

option._page();

_panelInner將保存_getPanelInner函數返回的值,而_page將保留對_getPage函數的引用 這意味着可以通過以下方式之一調用該函數:

  • option._page()
  • this._getPage()

這兩個函數調用都將執行相同的函數,但是不會自動調用該函數(根據顯示的代碼)。

暫無
暫無

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

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