1. 程式人生 > >js 兩個小括號 ()() 的用法

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

不是函數 而不是 clas cti ons return 問題 必須 n)

實現一個函數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()在函數的前後都可以調用。

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