search

Home  >  Q&A  >  body text

javascript - codewar上面的一道题,搞不懂

题目见这里
http://www.codewars.com/kata/5458d4d2cbae2a9438000389/train/javascript
有个解答是这样的:
var make_lazy = function (fn) {
var args = Array.prototype.slice.call(arguments,1);
return function() {
return fn.apply(fn,args);
};
};
想问下这一句fn.apply(fn,args)怎么理解啊,fn怎么就可以用apply方法呢?

伊谢尔伦伊谢尔伦2902 days ago330

reply all(3)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 15:08:49

    fn.constructor === Function.prototype.constructor

    fn 是函数啊,为什么不能有 apply 方法?

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 15:08:49

    每个函数都有apply方法
    ps,请贴格式化的代码

    reply
    0
  • 黄舟

    黄舟2017-04-10 15:08:49

    因为 fn 的原型对象 Function.prototype 存在 apply,所以 fn.apply 这样调用。

    reply
    0
  • Cancelreply