2.11 extendOwn
5.11.1 语法:
_.extendOwn(obj, *source);
5.11.2 说明:
extendOwn和extend类似,唯一不同的是继承过来的属性将不会进行处理
5.11.3 代码示例:
var result = _.extendOwn({ one: 1 }, { two: 2 });
console.log(result); //=> {one: 1, two: 2}
5.11.4 参数obj为非对象,则返回参数,参数若为空则返回undefined
var result;
// 参数obj为空
result = _.extendOwn();
console.log(typeof result); //=> undefined
// 参数obj为数字
result = _.extendOwn(123);
console.log(result); //=> 123
// 有两个参数都为数组
result = _.extendOwn([1], [2]);
console.log(result); //=> [2]
5.11.5 如果有重复的属性则会覆盖前边的属性
var result = _.extendOwn({ one: 1 }, { two: 2 }, { two: 3 });
console.log(result); //=> {one: 1, two: 3}
5.11.6 函数prototype继承属性将不会合并
var Child = function () { };
Child.prototype = {
name: 'zhangsan'
}
var result = _.extendOwn({ one: 1 }, new Child);
console.log(result); //=> {one: 1}
5.11.7 特殊情况
var result = _.extendOwn({}, { a: void 0, b: null });
console.log(result); //=> {a: undefined, b: null}