當前位置:才華齋>設計>網頁設計>

javascript中的return和閉包函式

網頁設計 閱讀(3.27W)

複製程式碼 程式碼如下:

javascript中的return和閉包函式

function makefunc(x) {

return function (){

return x;

}

}

alert(makefunc(0));

其實不是不執行,只是朋友的意思這裡alert出來的`應該是“0”,而不是function (){return x;}。

不是指令碼寫錯了,只是沒搞懂return,從當前函式退出,並從那個函式返回一個值。如果返回的是一個函式,那麼返回的也是函式本身。

可以這樣修改上面的程式碼,就是alert(makefunc(0)()):

複製程式碼 程式碼如下:

function makefunc(x) {

return (function (){

return x;

})();

}

alert(makefunc(0)());

如果要返回函式執行的結果那麼首先要讓這個函式執行,例如:

複製程式碼 程式碼如下:

function makefunc(x) {

return (function (){

return x;

})();

}

alert(makefunc(0));

這裡有一個匿名函式,

複製程式碼 程式碼如下:

(function (){

return x;

})();

在第一個括號內是匿名函式,第二個括號用於呼叫該匿名函式,您可以在第二個括號中傳入所需的引數。例如:

複製程式碼 程式碼如下:

(function( x , y){

alert( x + y);

})(2 ,3 );