js 兩個小括號 ()() 的用法
阿新 • • 發佈:2017-05-11
不是函數 而不是 clas cti ons return 問題 必須 n)
}; var s = a(1); console.log(s);
實現一個函數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) {var a = function(n) { function f() { return n + n; } return f();return n + m; } return f; }; var s = fn(1)(2); console.log(s);
//如果是這樣就是調內部函數問題
}; var s = a(1); console.log(s);
區別在於第一種為變量函數,調用必須在函數定義的後面;第二種fn()在函數的前後都可以調用。
js 兩個小括號 ()() 的用法