javascript中的return和閉包函數(shù)淺析
更新時(shí)間:2014年06月06日 11:28:31 作者:
這篇文章主要介紹了javascript中的return和閉包函數(shù)淺析,至少可以讓你搞懂那么多()是什么意思,需要的朋友可以參考下
高手繞道!這跟閉包本身沒什么大的關(guān)系,也不知道怎么取標(biāo)題,隨便湊了個(gè)數(shù),望見諒!
今天一個(gè)剛學(xué)js的朋友給了我一段代碼問為什么方法不執(zhí)行,代碼如下:
復(fù)制代碼 代碼如下:
function makefunc(x) {
return function (){
return x;
}
}
alert(makefunc(0));
其實(shí)不是不執(zhí)行,只是朋友的意思這里alert出來的應(yīng)該是“0”,而不是function (){return x;}。
不是腳本寫錯(cuò)了,只是沒搞懂return,從當(dāng)前函數(shù)退出,并從那個(gè)函數(shù)返回一個(gè)值。如果返回的是一個(gè)函數(shù),那么返回的也是函數(shù)本身。
可以這樣修改上面的代碼,就是alert(makefunc(0)()):
復(fù)制代碼 代碼如下:
function makefunc(x) {
return (function (){
return x;
})();
}
alert(makefunc(0)());
如果要返回函數(shù)執(zhí)行的結(jié)果那么首先要讓這個(gè)函數(shù)執(zhí)行,例如:
復(fù)制代碼 代碼如下:
function makefunc(x) {
return (function (){
return x;
})();
}
alert(makefunc(0));
這里有一個(gè)匿名函數(shù),
復(fù)制代碼 代碼如下:
(function (){
return x;
})();
在第一個(gè)括號(hào)內(nèi)是匿名函數(shù),第二個(gè)括號(hào)用于調(diào)用該匿名函數(shù),您可以在第二個(gè)括號(hào)中傳入所需的參數(shù)。例如:
復(fù)制代碼 代碼如下:
(function( x , y){
alert( x + y);
})(2 ,3 );
您可能感興趣的文章:
- JavaScript閉包函數(shù)訪問外部變量的方法
- js實(shí)現(xiàn)拖拽 閉包函數(shù)詳細(xì)介紹
- javascript高級(jí)編程之函數(shù)表達(dá)式 遞歸和閉包函數(shù)
- javascript 閉包函數(shù)做顯隱內(nèi)容
- 淺談JavaScript的閉包函數(shù)
- 輕松學(xué)習(xí)Javascript閉包函數(shù)
- JavaScript 匿名函數(shù)(anonymous function)與閉包(closure)
- js bind 函數(shù) 使用閉包保存執(zhí)行上下文
- 弱類型語言javascript中 a,b 的運(yùn)算實(shí)例小結(jié)
相關(guān)文章
腳本之家貼圖轉(zhuǎn)換+轉(zhuǎn)貼工具用到的js代碼超級(jí)推薦
[紅色]腳本之家貼圖轉(zhuǎn)換+轉(zhuǎn)貼工具用到的js代碼超級(jí)推薦...2007-04-04JavaScript定時(shí)器常見用法實(shí)例分析
這篇文章主要介紹了JavaScript定時(shí)器常見用法,結(jié)合實(shí)例形式分析了JavaScript定時(shí)器常見功能、應(yīng)用及相關(guān)操作技巧,需要的朋友可以參考下2019-11-11JS實(shí)現(xiàn)頁面數(shù)據(jù)懶加載
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)頁面數(shù)據(jù)懶加載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02