- 浏览: 3205316 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (706)
- .NET (1)
- Activiti (6)
- aix (6)
- android (2)
- ant (16)
- apache (1)
- BMap (1)
- C# (1)
- cas (3)
- couchbase (1)
- db2 (34)
- ECharts (1)
- eclipse (24)
- ehcache (1)
- Ext (26)
- freemarker (6)
- flash (1)
- g4studio (1)
- GIS (3)
- git (2)
- goagent (0)
- hibernate (3)
- html (1)
- HttpClient (5)
- IIS (3)
- iis7 (3)
- Inno Setup (1)
- iReport (3)
- iText (1)
- jacob (2)
- NetBeans (5)
- JasperReport (1)
- java (62)
- java-web (20)
- jeewx (2)
- jira (2)
- jbpm (1)
- jfreechart (1)
- js (39)
- json (6)
- jQuery (11)
- jQuery easyui (17)
- jstl (1)
- jxl (1)
- Linux (65)
- log4j (3)
- lucene (1)
- maven (25)
- mybatis (6)
- myeclipse (3)
- mysql (20)
- nginx (16)
- office (7)
- openoffice (5)
- OSCache (1)
- Oracle (57)
- Oracle SQL Developer (1)
- pdf (1)
- pl sql developer (4)
- poi (6)
- PowerDesigner (3)
- rsync (1)
- shiro (2)
- spring (21)
- spring mvc (11)
- sql (1)
- SQL Server (1)
- SQL Server 2008 (4)
- SQL Server 2008 R2 (1)
- SVN (12)
- swing (13)
- tomcat (6)
- UltraEdit (5)
- VMware (18)
- web (1)
- weblogic (19)
- WebService (2)
- WebSphere (25)
- win7 (5)
- windows (4)
- Windows Server 2008 (7)
- Xmanager (1)
- zxing (1)
- b标准化 (1)
- c测试 (12)
- d打印 (1)
- f负载均衡 (1)
- j加密 (1)
- l浏览器 (3)
- r日志 (1)
- s上传下载 (8)
- s随笔 (1)
- t图表工具 (1)
- w网络 (1)
- w微信 (1)
- x系统工具 (2)
- y硬件 (9)
- junit (1)
- FTPClient (3)
- xml (3)
- easyui (1)
- websphere7 (1)
- redis (5)
- UNIX (4)
- java, (0)
- ace admin (3)
- lombok (1)
- jquery ui (3)
- jqGrid (1)
- jsTree (1)
- dubbo (1)
- zookeeper (1)
最新评论
-
happyqing:
skyshowshow 写道[b][/b]DTO类呢baseD ...
Java打印条码,使用佳博条码打印机 -
skyshowshow:
[b][/b]DTO类呢baseDto呢
Java打印条码,使用佳博条码打印机 -
happyqing:
一般使用公钥加密,私钥解密。
java RSA加密生成license,用CPU序列号生成机器码 -
allmyteacher:
楼主。使用分布式session后,能解决freemarker无 ...
spring session redis 配置 -
masuweng:
代码报异常啊
纯java获取CPU序列号,生成机器码
js深度克隆对象
用js实现对象克隆最关键的两点就是:var objClone = new this.constructor();和objClone[key] = this[key].Clone();。一个实现相同对象创建,一个实现深度克隆。
Object.prototype.Clone = function(){
var objClone;
if (this.constructor == Object){
objClone = new this.constructor();
}else{
objClone = new this.constructor(this.valueOf());
}
for(var key in this){
if ( objClone[key] != this[key] ){
if ( typeof(this[key]) == ‘object’ ){
objClone[key] = this[key].Clone();
}else{
objClone[key] = this[key];
}
}
}
objClone.toString = this.toString;
objClone.valueOf = this.valueOf;
return objClone;
}
不用原型方式实现,万一哪天浏览器厂商一更新可能就会有原生的Clone方法了,只写个方法function clone(obj){
var objClone;
if (obj.constructor == Object){
objClone = new obj.constructor();
}else{
objClone = new obj.constructor(obj.valueOf());
}
for(var key in obj){
if ( objClone[key] != obj[key] ){
if ( typeof(obj[key]) == ‘object’ ){
objClone[key] = clone(obj[key]);
}else{
objClone[key] = obj[key];
}
}
}
objClone.toString = obj.toString;
objClone.valueOf = obj.valueOf;
return objClone;
}
发表评论
-
iframe里在top窗口跳转到登录页
2016-08-30 20:43 1911一、java实现 权限filter里加入 Pri ... -
js try catch finally语句 throw onerror
2016-04-15 15:51 875定义和用法 try/catch/finally 语句用于处 ... -
js使用cookie记录数组array数据,记录多条历史,最新的排前面
2016-04-10 01:32 1625js添加、修改、查询、删除cookie http: ... -
js在cookie里存储数组array数据
2016-04-09 15:59 7163js添加、修改、查询、删除cookie http: ... -
js添加、修改、查询、删除cookie
2016-04-09 15:37 2292w3school代码 /** * 添加/修改cook ... -
js扩展Array添加indexOf方法,remove方法,删除元素
2016-04-09 11:57 2398/** * 扩展Array,添加indexOf方 ... -
js扩展String添加startWith方法,endWith方法
2016-04-09 11:50 3979一、使用正则 String.prototype.s ... -
js获取Url,域名,端口号等
2015-10-13 10:41 2905属性 值href 完整的 URLprotocol 协议hos ... -
js百度地图计算两经纬度坐标点的距离
2015-08-18 18:54 19851百度地图API-首页 http://develop ... -
js版谷歌地图计算两经纬度坐标点的距离
2015-08-17 18:54 5691球面上两点间大圆劣弧的距离 <!DOCTYPE ... -
Javascript中同名标识符优先级
2015-05-01 18:05 1024一,局部变量先使用后声明,不影响外部同名变量 va ... -
js中用字符串当变量名
2015-01-18 20:10 2970window["test_" ... -
js中“原生”map
2015-01-18 19:45 2404var map = {}; // Map map = ... -
js中加trim()方法
2014-11-06 15:26 1283去除字符串左右两端的空格,在vbscript里面可以轻松地使 ... -
java Ant+yuicompressor批量压缩混淆js,css
2014-01-13 17:52 4957需要先下载 yuicompressor yuico ... -
js树控件之zTree
2014-01-10 10:54 1733js树控件众多,在网上搜了一下,树控件一般用zTree的比 ... -
js压缩混淆加密工具,解密工具
2014-01-09 16:20 5620js压缩混淆加密有什么不同 压缩 compress ... -
js 日期格式化方法
2014-01-02 14:41 2141//对Date的扩展,将 Date 转化为指定格式的 ... -
为form中的文本框绑定验证最大长度事件(按字节)
2013-12-24 17:03 1326/** * 为form中的文本框绑定验证最大 ... -
解决ie8下onpropertychange事件间歇性失效的问题
2013-12-24 16:48 2860有的时候onpropertychange事件一下好用 ...
相关推荐
JavaScript中的浅层克隆与深度克隆是两种不同的对象复制方式,它们主要处理对象和数组这类引用类型的数据。这两种克隆方法的区别在于处理对象内部引用值的方式,即对堆内存中对象的复制程度。 1. **浅层克隆**: ...
JavaScript中的对象深度克隆是一种创建新对象的过程,这个新对象完全复制了原始对象的所有属性,包括嵌套的对象和数组,而不会与原始对象共享引用。这意味着对克隆对象的任何修改都不会影响原始对象。在JavaScript中...
标题提到的"一个用于对象深度克隆的同构和可配置javascript函数"是指一个能够在浏览器环境和Node.js环境中通用(同构)的JavaScript函数,它提供了一种灵活的方式来深度复制复杂的数据结构,同时允许用户根据需求...
在描述的示例中,提供了两种实现JavaScript深度克隆的方法。 ### 方法1:递归遍历复制 这种方法通过遍历对象的每个属性,如果属性是对象类型,就递归调用自身进行克隆。以下是具体的实现: ```javascript ...
在JavaScript中,我们可以使用JSON对象的`parse()`和`stringify()`方法来实现深度克隆: ```javascript function deepClone(obj) { return JSON.parse(JSON.stringify(obj)); } ``` 这种方法简单易用,但不适用于...
标题提到的"nanoclone"是一个极简的JavaScript库,其核心代码只有145字节,但能实现深度克隆功能。这在追求轻量级解决方案的场景下显得尤为宝贵。 在JavaScript中,有多种实现深拷贝的方法。例如,可以使用JSON的...
本文档是解决 引用问题的解决方案,它不仅可以解决引用值拷贝 ,还可以原样复制一个一摸一样的数组、对象包括其中的方法。
在开发中,深度克隆对象的原因通常是为了保持原始数据的完整性,避免因修改克隆后的对象而导致原始数据的意外变更。例如,当你想要创建一个用户配置对象的副本,以便在不改变用户原始设置的情况下进行操作,或者在...
在JavaScript中,深度克隆指的是创建一个新对象,其内容完全复制自源对象,包括所有嵌套的对象和数组。在处理复杂的数据结构时,深度克隆尤为重要,因为它能确保源对象不受目标对象的修改影响。标题提到的"一行代码...
通过深度克隆得到的新对象与其原始对象在内存中完全独立,对新对象的任何修改都不会影响到原始对象。 在JavaScript中,实现深度克隆通常有以下几种方式: 1. 递归函数克隆:这是一种通用的方法,可以通过递归的...
在JavaScript中,克隆对象是一项常见的任务,主要是为了创建一个对象的新副本,而不改变原始对象。根据克隆的深度,可以分为浅层克隆和深度克隆,它们在处理复杂数据结构时有不同的行为。 1、浅层克隆: 浅层克隆只...
JavaScript深度克隆是一种在编程中复制对象或数组的方式,它不仅复制了对象的表面属性,还复制了嵌套的对象和数组。在JavaScript中,浅拷贝(shallow copy)只复制对象的引用,而深度克隆(deep clone)会创建一个...
4、对象的深度克隆 5、一些Object的方法与需要注意的点 6、ES6新增特性 下面反复提到实例对象和原型对象,通过构造函数 new 出来的本文称作 实例对象,构造函数的原型属性本文称作 原型对象。 创建对象 字面量的方式...
对象克隆ES5的深克隆和比较概要// just for conveniencevar log = function ( ) { console . log . apply ( console , [ ] . slice . call ( arguments ) ) } ; var src = { name : 'dankogai' , lang : [ 'perl' ] ...
在JavaScript中,克隆对象是一项常见的任务,尤其是在处理复杂的数据结构时。克隆对象的目的是创建一个与原对象具有相同属性和值的新对象,但两者之间没有引用关系,即修改克隆对象不会影响原始对象。在JavaScript中...