手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >克隆javascript对象的三个方法小结
克隆javascript对象的三个方法小结
摘要:方法一复制代码代码如下:functionclone(obj){varo;switch(typeofobj){case'undefined':...

方法一

复制代码 代码如下:

function clone(obj){

var o;

switch(typeof obj){

case 'undefined': break;

case 'string' : o = obj + '';break;

case 'number' : o = obj - 0;break;

case 'boolean' : o = obj;break;

case 'object' :

if(obj === null){

o = null;

}else{

if(obj instanceof Array){

o = [];

for(var i = 0, len = obj.length; i < len; i++){

o.push(clone(obj[i]));

}

}else{

o = {};

for(var k in obj){

o[k] = clone(obj[k]);

}

}

}

break;

default:

o = obj;break;

}

return o;

}

方法二

复制代码 代码如下:

function clone2(obj){

var o, obj;

if (obj.constructor == Object){

o = new obj.constructor();

}else{

o = new obj.constructor(obj.valueOf());

}

for(var key in obj){

if ( o[key] != obj[key] ){

if ( typeof(obj[key]) == 'object' ){

o[key] = clone2(obj[key]);

}else{

o[key] = obj[key];

}

}

}

o.toString = obj.toString;

o.valueOf = obj.valueOf;

return o;

}

方法三

复制代码 代码如下:

function clone3(obj){

function Clone(){}

Clone.prototype = obj;

var o = new Clone();

for(var a in o){

if(typeof o[a] == "object") {

o[a] = clone3(o[a]);

}

}

return o;

}

【克隆javascript对象的三个方法小结】相关文章:

Javascript实现每日自动换一张图片的方法

理解javascript封装

使用JavaScript刷新网页的方法

JavaScript中的splice()方法使用详解

javascript字符串与数组转换汇总

Node.js中JavaScript操作MySQL的常用方法整理

介绍JavaScript中Math.abs()方法的使用

Javascript生成全局唯一标识符(GUID,UUID)的方法

JavaScript中使用自然对数ln的方法

javascript实现Table排序的方法

精品推荐
分类导航