关于函数柯里化的问题

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);





赵日天l
浏览 2853回答 3
3回答

李晓健

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

慕盖茨7302913

Array下没有 slice方法,Array.prototype 在有slice 方法;  你先理解构造函数原型,就理解为什么了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

React.JS