underscore的Object之defaults

 

    _.defaults

 

   

_.defaults(object,*defaults)

 

   用defaults对象填充object中undefined属性,并返回这个object

 

    源码部分:

 

_.defaults = function(obj){
   //对第二个参数进行遍历,也就是defaultObject
    _.each(slice.call(arguments, 1), function(source) {
          if (source) {
              for (var prop in source) {
                    //如果obj里面没有这个key为prop的,那就用source里面的顶
                    if (obj[prop] === void 0){
                        obj[prop] = source[prop];
                    }
              }
         }
   });

   //最后返回
   return obj;
}

 

你可能感兴趣的:(defaults)