[英]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.