5.15 defaults

5.15.1 语法

_.defaults(object, *defaults)

5.15.2 说明

用defaults对象填充object中的undefined属性。 并且返回这个object。一旦这个属性被填充,再使用defaults方法将不会有任何效果。

5.15.2 代码示例

示例一:基本用法

function creatUser (user) {
    //默认值
    var defaults = {
        country : 'china'
    };

    //return _.extend({}, defaults, user); //曾经是这么写的
    return _.defaults(user, defaults);
};

var user = creatUser({
    name : 'js man'
});
//加了默认值{country : 'china'}
console.log(user); //=> {name: "js man", country: "china"}

var user2 = creatUser({
    name : 'piter',
    country : 'usa' //有值的话,默认值会没用
});
console.log(user2); //=> {name: "piter", country: "usa"}

示例二:null值不会被覆盖

var defaults = {
    country: 'china'
};

var user = {
    name: 'piter',
    country: null
};

user = _.defaults(user, defaults);
console.log(user); //=> {name: "piter", country: null}