5.7 create
5.7.1 语法:
_.create(prototype,props)
5.7.2 说明:
给某个对象原型创建新对象,覆盖原有的属性,返回一个对象或数组
5.7.3 代码示例:
示例一:prototype属性
var Child = function () { }, result;
result = _.create(Child.prototype);
console.log(result); //=> {}
// 操作字符串
result = _.create('123');
console.log(result); //=> {}
// 操作数组
result = _.create([1]);
console.log(result); //=> []
示例二:props属性
var Child = function () { }, result;
result = _.create(Child.prototype, {
one: 1
});
console.log(result); //=> {one: 1}
// props为数组
result = _.create('123', [1, 2]);
console.log(result); //=> {0: 1, 1: 2}
`
5.7.4 create方法的一些特殊传值?
var result;
// 不进行传值
result = _.create();
console.log(result); //=> {}
// prototype非数组的时候且props没值将返回{}
result = _.create(true);
console.log(result); //=> {}
// prototype为数组且props也为数组{}
result = _.create([], [{one: 1 }, {two: 2 }]);
console.log(result); //=> [0: {one: 1}, 1: {two: 2}]
5.7.5 给函数原型创建新对象,函数是否保留现有的对象?函数的属性是通过create新增的属性吗?
var Child = function () { }, result;
Child.prototype = {
name: 'zhangsan'
}
result = _.create(Child.prototype, {
one: 1
});
console.log(result); //=> {one: 1}
console.log(new Child); //=> {}