js 克隆对象(转)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 克隆对象(转)相关的知识,希望对你有一定的参考价值。

js 克隆对象

原文:http://www.360doc.com/content/10/0305/13/15055_17649067.shtml

note

由于javascript的对象到对象的赋值是传址的,当我需要对两个相同内容对象进行更改与比较时,我就需要把旧对象CLONE出来。

code

定义

function clone(myObj) 
{ 
    if(typeof(myObj) != ‘object‘) return myObj; 
    if(myObj == null) return myObj; 
    var myNewObj = new Object(); 
    for(var i in myObj) myNewObj[i] = clone(myObj[i]); 
    return myNewObj; 
} 

调用

var o = {a:1, b:2}; 
var b = o; 
b.b = 3;                     //此时,o.b的值为3 

var o = {a:1, b:2}; 
var b = clone(o); 
b.b = 3;                     //此时,o.b的值仍为2 

以上是关于js 克隆对象(转)的主要内容,如果未能解决你的问题,请参考以下文章

web代码片段

Instagram 克隆。单击按钮时,为啥我不能回到上一个片段?

Forge Viewer - 如何在场景中访问(或获取渲染/片段代理)克隆的网格?

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

js深度克隆对象