JavaScript 克隆对象
■知识点
克隆对象也是一种复制操作,不过它的执行效率更高一些。
■实例设计
第1步,封装一个克隆工具。为Function类型扩展一个原型方法。
var clone = function(obj){ //对象克隆方法
function Temp(){}; //新建空构造函数
Temp.prototype = obj; //把参数对象赋值给该构造函数的原型对象
return new Temp(); //返回实例化后的对象
}
第2步,调用工具函数cloneO把obj克隆给objl。
var obj = { //定义对象
x:true,
y:false
}
var obj 1 = {}; //新的空对象
objl = clone (obj) ; //克隆对象
第3步,检测对象objl,其拥有对象obj所有属性,但是它们不全等。
console.log (obj 1 === obj); //false,说明两个对象不同
console.log(obj1.x); //true
console.log(obj•x); //true
这里通过直接赋值的方式把一个对象传递给一个临时构造函数的原型对象,然后实例化类型函数,并返回这个实例对象,它拥有了参数对象的所有成员,但是不再与原参数对象保持联系。
点击加载更多评论>>