为了账号安全,请及时绑定邮箱和手机立即绑定

关于函数柯里化的问题

/ 猿问

关于函数柯里化的问题

赵日天l 2017-06-30 19:35:24

function curry (fn) {

    var args = Array.prototype.slice.call(arguments, 1);

 

    return function () {

        return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, 0)));

    }

}

*********************************

既然slice是Array原型里的方法,那为什么不写成Array.slice.call(arguments, 1);而写成Array.prototype.slice.call(arguments, 1);





查看完整描述

3 回答

已采纳
?
李晓健

原型上的方法需要通过实例才可以直接访问到,如果想通过构造函数访问就必须通过原型来访问,Array就是数组的构造函数!

查看完整回答
反对 回复 2017-07-01
?
慕盖茨7302913

Array下没有 slice方法,Array.prototype 在有slice 方法;  你先理解构造函数原型,就理解为什么了

查看完整回答
反对 回复 2017-07-03
?
Korwin

jjhesyme

查看完整回答
反对 回复 2017-06-30

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信