有時我們看見js函數後面跟着多個小括號是怎麼回事?f( )( )( )...
f()意思是執行f函數,返回子函數
f()()執行子函數,返回孫函數
f()()()執行孫函數
... ...
但注意,如果想這樣執行,函數結構必須是這樣,f的函數體裏要return 子函數,子函數裏要return 孫函數,如果沒有return關鍵字,是不能這樣連續執行的,會報錯的。
舉個例子:k是f的子函數,return子函數k,所以f()()能連續執行。
var i=1;
function f(){
i++;
console.log("------------- : "+i)
return k;
function k() {
return "I love you!"
}
}
f();
console.log("111111111111")
f()()
alert(f()())
結果如圖: