js 兩個小括號 ()() 的用法


實現一個函數fn, 使fn(1)(2)的結果為兩個參數的和,剛開始沒反應過來,其實細細一想第二個括號就是函數再調用的問題,廢話不多說,代碼奉上:

var fn = function(n) {
        function f(m) {
            return n + m;
        }
        return f;//這必須返回的是整個函數,而不是函數的調用f();

    };

 var s = fn(1)(2);
 console.log(s);
//或者
 function fn(n) {
        function f(m) {
            return n + m;
        }
        return f;

    };

 var s = fn(1)(2);
 console.log(s);
//如果是這樣就是調內部函數問題
var a = function(n) {
function f() {
return n + n;
}
return f();

};
var s = a(1);
console.log(s);
 

區別在於第一種為變量函數,調用必須在函數定義的后面;第二種fn()在函數的前后都可以調用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM