Javascript中对象深拷贝的应用
2017-05-01 19:54
260 查看
javascript中的对象的深拷贝
关于Javascript的对象的深浅拷贝网上有很多的说明文档。详见:js深拷贝和浅拷贝
下面说明下我遇到的业务场景,由于框架的限制,在每次打开模态页面的时候,框架会自动将我赋予模态页面的对象的属性改变,而框架对于属性的名称是严格要求的。
var checkBoxObj = { 'text':'aaa', 'value': '1' } (对象一) 改变后: var checkBoxObj = { 'name':'aaa', 'value':'1' } (对象二)
这样第一次模态页面的打开是正常的,但是第二次打开后就会造成,对象属性就会不识别。框架仍然希望我传进来的是(对象一)这种形式,
但是第一次模态页面的打开已经造成了对象属性名称的改变,所以造成原来对象的丢失。所以采用对象的深拷贝解决这个问题。每次传给模态页面的是一个拷贝的对象,这样就保留了原来的对象。
以下是拷贝代码部分:
/** * 对象的拷贝。 * 入参:原对象,作为副本不变。 */ cloneFun:function (obj){ function Clone(){} Clone.prototype = obj; var o = new Clone(); for(var a in o){ if(typeof o[a] == "object") { o[a] = cloneFun(o[a]); } } return o; }
相关文章推荐
- JavaScript深度克隆(深度拷贝)一个对象
- 设计与应用JavaScript对象符号JSON
- javascript学习之对象应用
- 也来玩玩 javascript对象深拷贝,浅拷贝 ,支持数组
- Javascript中的arguments对象在FCKeditor中的应用
- javascript---对象和函数的引用、浅拷贝、深拷贝、递归
- JSON 实现 Javascript 对象深拷贝 clone
- javascript 对象object应用
- JavaScript学习笔记(07)之JavaScript的对象应用
- javascript对象的深拷贝
- javascript RegExp对象属性与方法和应用
- javascript xmlhttp 对象应用
- javascript的对象应用演示实例代码
- C井和JavaScript中的对象拷贝
- 转(时间对象的格式化&javascript应用:实现复选框全选/全不选切换)
- javascript中的对象和数组的应用技巧
- javascript RegExp 对象属性与方法和应用
- 【javascript基础】之深度克隆(深度拷贝)一个对象
- 也来玩玩 javascript对象深拷贝,浅拷贝
- JavaScript 对象的反射及应用