Maison > Questions et réponses > le corps du texte
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);
};
}
Pouvez-vous expliquer ce que signifie le code de cette fonction ? J'ai essayé la méthode d'appel et la méthode slice de Baidu, mais je n'ai pas pu comprendre quand elles ont été combinées et que l'objet arguments de la fonction a été ajouté. Je suis un débutant, donc je ne comprends pas très bien certains concepts
.迷茫2017-07-05 10:56:45
简单的例子
var aa=[1,2,3],bb={0:1,1:2,2:3,length:3};
aa.slice(1)//[2,3],此时的slice上的this就是指的aa的
//bb是对象没有slice方法,又想得到[2,3]该怎么办?
aa.slice.call(bb,1)//[2,3]
过去多啦不再A梦2017-07-05 10:56:45
Oubliez Baidu, allez simplement sur mdn https://developer.mozilla.org...
var args = Array.prototype.slice.call(arguments, 1);
arguments est un objet de type tableau, pas un tableau, et n'a pas nécessairement la méthode slice du tableau, donc la méthode call est utilisée pour permettre à l'objet arguments d'appeler la méthode slice comme un tableau.