javascript - js中call函数的用法?
问题描述
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); };}
能解释一下这个函数的代码的意思吗?我百度过call方法与 slice方法,但是结合起来用,并且加上函数的参数arguments对象,我就搞不清楚了,新手学习,所以有些概念不怎么理解
问题解答
回答1:简单的例子 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] 回答2:
别百度了,直接mdn看吧 https://developer.mozilla.org...
var args = Array.prototype.slice.call(arguments, 1);
arguments 是一个类数组对象,而非数组,不一定有数组的slice方法,所以用call方法来使得arguments对象能跟数组一样调用slice方法。
相关文章:
1. docker网络端口映射,没有方便点的操作方法么?2. 为啥最大化个窗口还得找一堆理由?3. java - Byte自增问题4. html5 - chrome下的a标签download属性无法调出另存为的下载框5. css3 - 我的css用less写的,eclipse的jsp文件要修改css很麻烦,怎么解决?6. html5 - express4 + socket.io 如何在connection的回调外边使用socket.emit方法7. javascript - windos下第一次用Django无法正确创建工程目录8. CSS3可否做出这个效果?9. javascript - 单个控件多个字段搜索10. css3 - css box-shadow 单边 单角阴影

网公网安备