function asArray(quasiArray, start) {
var result = [];
for (var i = (start || 0); i < quasiArray.length; i++)
result.push(quasiArray[i]);
return result;
}
function partial(func) {
var fixedArgs = asArray(arguments, 1);
return function(){
return func.apply(null, fixedArgs.concat(asArray(arguments)));
};
}
function compose(func1, func2) {
return function() {
return func1(func2.apply(null, arguments));
};
}
var isUndefined = partial(op["==="], undefined);
var isDefined = compose(op["!"], isUndefined);
show(isDefined(Math.PI));
show(isDefined(Math.PIE));
爲什麼不能在功能譜曲簡單的返回:我正在閱讀Eloquent Javascript,我對這個部分函數示例有點困惑。請幫忙解釋一下
func1(func2);
,並給予適當的輸出。我認爲其被存儲在所述可變isUndefined已經返回func.apply的部分功能(NULL,[固定,參數])
var op = {
"+": function(a, b){return a + b;},
"==": function(a, b){return a == b;},
"===": function(a, b){return a === b;},
"!": function(a){return !a;}
/* and so on */
};
「op」在哪裏申報?你可以加入嗎? –
哎呀對不起 – Shaan