var currying = function(fun) {
//底下这句代码是什么意思?
var args = Array.prototype.slice.call(arguments, 1);
return function() {
//底下这句代码也不怎么清楚
var _args = args.concat(Array.prototype.slice.call(arguments));
return fun.apply(null, _args);
};
}
Können Sie erklären, was der Code dieser Funktion bedeutet? Ich habe Baidus Call-Methode und Slice-Methode ausprobiert, konnte es aber nicht herausfinden, als sie kombiniert wurden und das Argumentobjekt der Funktion hinzugefügt wurde. Ich bin ein Neuling, daher verstehe ich einige Konzepte nicht sehr gut
别百度了,直接mdn看吧 https://developer.mozilla.org...
arguments 是一个类数组对象,而非数组,不一定有数组的slice方法,所以用call方法来使得arguments对象能跟数组一样调用slice方法。