知识大全 Javascript中浅拷贝与深拷贝的实现
Posted 知
篇首语:君不见长松卧壑困风霜,时来屹立扶明堂。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Javascript中浅拷贝与深拷贝的实现相关的知识,希望对你有一定的参考价值。
Javascript中浅拷贝与深拷贝的实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
javascript中的对像赋值 与 Java中是一样的 都为引用传递 就是说 在把一个对像赋值给一个变量时 那么这个变量所指向的仍就是原来对像的地址 那怎么来做呢 答案是 克隆 什么是 clone ?在实际编程过程中 我们常常要遇到这种情况 有一个对象A 在某一时刻A中已经包含了一些有效值 此时可能会需要一个和A完全相同新对象B 并且此后对B任何改动都不会影响到A中的值 也就是说 A与B是两个独立的对象 但B的初始值是由A对象确定的 在Java/javasript语言中 用简单的赋值语句是不能满足这种需求的 要满足这种需求虽然有很多途径 但实现clone()方法是其中最简单 也是最高效的手段 当然了 javascript语言中并没有此方法 所以我特意写了两个克隆方法:一个为浅复制 一个为深复制 解释: 浅复制(影子克隆):只复制对像的基本类型 对像类型 仍属于原来的引用 深复制(深度克隆):不紧复制对象的基本类 同时也复制原对象中的 对像 就是说完全是新对象产生的 下面是代码 我己测试过了 还没遇到什么问题 希望 大家感兴趣的 一起参与 <!DOCTYPE HTML PUBLIC //W C//DTD HTML Transitional//EN ><HTML><HEAD><TITLE> New Document </TITLE><meta equiv= Content Type content= text/; charset=gb ><META NAME= Generator CONTENT= Wawa Editor ><META NAME= Author CONTENT= 八神奄 ><META NAME= Keywords CONTENT= javascript Java XML XSLT ASP VBScript C# C++ Database ><META NAME= Description CONTENT= 不及格的程序员 无所不在 ></HEAD>
<BODY><SCRIPT LANGUAGE= javascript ><!
function Object prototype clone() var newObj = new Object(); for(elements in this) newObj[elements] = this[elements]; return newObj;
function Object prototype cloneAll() function clonePrototype() clonePrototype prototype = this; var obj = new clonePrototype(); for(var ele in obj) if(typeof(obj[ele])== object ) obj[ele] = obj[ele] cloneAll(); return obj;
var obj = new Object(); obj Team = First ; obj Powers = new Array( Iori Kyo ); obj msg = function()alert(); obj winner = new Object(); obj winner name = obj Powers[ ]; obj winner age = ; obj winner from = Japan
var obj _clone = obj cloneAll(); obj _clone Team = Second ; obj _clone Powers = new Array( Jimmy Anndy ); obj _clone winner name = obj _clone Powers[ ]; obj _clone winner age = ; obj _clone winner from = USA ;
msg = 界拳皇单打独斗杯 拳皇挑战赛: \\n\\n A组 对战形式:\\n\\n msg += obj Team+ 组 人员名单: +obj Powers+ \\n ; msg += 第一轮过后 胜利者为: +obj winner name + 参赛者年龄: +obj winner age+ 来自岛国: +obj winner from+ \\n ; msg += \\n\\n B组 对战形式:\\n\\n msg += obj _clone Team+ 组 人员名单: +obj _clone Powers+ \\n ; msg += 第一轮过后 胜利者为: +obj _clone winner name + 参赛者年龄: +obj _clone winner age+ 来自国际警察部队: +obj _clone winner from+ \\n ; alert(msg);
cha138/Article/program/Java/JSP/201311/19698相关参考
1、DVD加装防拷贝管制系统,在商品DVD碟件及播放设备加入防连接拷贝的识别码。 2、加注地在代码,无论是DVD播放机还是碟机,必须加注合法销售及发行地区的识别代码,在 各个区域发行有软件产品采用
Java技巧:拷贝枚举器以加强效率 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 当一个代码段正
拷贝文件的Java源代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! //ClassCopyF
JAVA深层拷贝DeepCopy的使用详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!最近需要用
一个实用的Delphi屏幕拷贝程序的设计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Borl
如何实现文件夹对文件夹的拷贝呢?如果文件夹里还有文件夹怎么办呢? 接下来我就将我的方法演示给一些初学者希望能够帮助你们! /* *CopyRightby */ packageco
ORACLE7用户之间数据拷贝的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 大型数据库系
拷贝的SQLServer7数据库的恢复方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在
电影制片厂制作电影后,销售电影母带和拷贝取得的收入,是否应缴纳增值税 根据《财政部、海关总署、国家税务总局关于支持文化企业发展若干税收政策问题的通知》(财税〔2009〕31号)规定,广播电影电视行政
1清除本地数据 ls_sql=TRUNCATETABLE+ls_table[] executeIMMEDIATE:ls_sqlusingsqlca; 2//打开可以插入自增显示插入自