高手繞道!這跟閉包本身沒什么大的關系,也不知道怎么取標題,隨便湊了個數,望見諒!
今天一個剛學js的朋友給了我一段代碼問為什么方法不執行,代碼如下:
其實不是不執行,只是朋友的意思這里alert出來的應該是“0”,而不是function (){return x;}。
不是腳本寫錯了,只是沒搞懂return,從當前函數退出,并從那個函數返回一個值。如果返回的是一個函數,那么返回的也是函數本身。
可以這樣修改上面的代碼,就是alert(makefunc(0)()):
如果要返回函數執行的結果那么首先要讓這個函數執行,例如:
這里有一個匿名函數,
在第一個括號內是匿名函數,第二個括號用于調用該匿名函數,您可以在第二個括號中傳入所需的參數。例如:
聲明: 本文采用 BY-NC-SA 協議進行授權 | WEB前端開發
轉載請注明轉自《return閉包函數》