解决方案 »

  1.   

    看清楚_.debounce();

    _().debounce();
    有那不一样。
      

  2.   

    这个知道,  _().debounce(),楼上的知道_()返回什么对象吗,没有切入正题
      

  3.   

     _.mixin(_);
    var _ = function(obj) {
        if (obj instanceof _) return obj;
        if (!(this instanceof _)) return new _(obj);
        this._wrapped = obj;
      };
    _.mixin = function(obj) {
        each(_.functions(obj), function(name) {
          var func = _[name] = obj[name];
          _.prototype[name] = function() {
            var args = [this._wrapped];
            push.apply(args, arguments);
            return result.call(this, func.apply(_, args));
          };
        });
      };_.prototype[name] = function() {
            var args = [this._wrapped];
            push.apply(args, arguments);
            return result.call(this, func.apply(_, args));
          };

      

  4.   

    有点理解了,这儿underscore对象已经有name属性
     var func = _[name] = obj[name];
     为什么在_的prototype中重新定义一个和name相关的函数???
      

  5.   

    有就有,就多干一次。_.mixin 。  主要供外面 mix in _ 用的。