鍍金池/ 問(wèn)答/HTML  Office/ 關(guān)于JS函數(shù)柯里化原理

關(guān)于JS函數(shù)柯里化原理

1.為什么這樣函數(shù)也會(huì)運(yùn)行?

function _add(a) {
    return function(b) {
        return function(c) {
            return a + b + c;
        }
    }
}
_add(1)(2)(3);
回答
編輯回答
懶豬

這個(gè)有些復(fù)雜,寫(xiě)個(gè)簡(jiǎn)單的:

function _add(a) {
    return function(b) {
        return a + b;
    }
}
const fn1 = _add(1);
const result = fn1(2);

首先:

function _add(a) {
    return function(b) {
        return a + b;
    }
}

定義一個(gè)函數(shù),函數(shù)接收1個(gè)參數(shù),函數(shù)的返回類(lèi)型是個(gè)函數(shù)。

const fn1 = _add(1);

調(diào)用 _add 函數(shù):

fn1 是一個(gè)函數(shù),接收一個(gè)參數(shù),函數(shù)體是 return a + b;

所以 fn1(2) 的結(jié)果是 3

2018年4月24日 16:49