改进版通过Json对象实现深复制的方法
2012-10-24 21:40
706 查看
var obj = {
sayName: function() {
alert(this.name);
},
name:'静水渊'
};
function clone(){
var str,newObj;
str= JSON.stringify(obj, function(key, value) {
return (typeof value == 'function' ? value.toString().replace(/^function(.*)/g, "jsonFunction$1") : value);
});
newObj = JSON.parse(str, function (key, value) {
if (/^jsonFunction(.*)/.test(value)) {
var strFun = '('+value.replace(/^jsonFunction(.*)/, "function$1")+')';
value = eval(strFun);
}
return value;
});
return newObj;
}
var cloneObj=clone(obj);
cloneObj.sayName();
相关文章推荐
- 改进版通过Json对象实现深复制的方法
- 通过jsonObject toBean方法,实现对象的实例化
- HTML5——JSON的方法实现对象copy
- 通过codehaus来实现json写入文件和读取文件成json对象
- JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法
- javascript中创建对象,并序列化为json,通过$.ajax的提交json数据到后台方法,取值为null的问题
- 通过请求不同的url返回Json对象并在前端显示的解决方法
- 通过json-lib实现Java对象和json字符串的相互转换
- python通过shutil实现快速文件复制的方法
- JS实现合并json对象的方法
- Android开发-进阶:Json字符串转换为java对象的各种实现方法[json_lib框架、Gson、org.json]
- Json字符串转换为java对象的各种实现方法
- ThinkPHP通过AJAX返回JSON的两种实现方法
- 85---ajax实现的传统方式以及jquery方式,jquery方式的五种方法,json对象的转换方法, JSON类型的Result
- 自定义标签属性数据通过json对象解析得到所需数据方法
- 通过codehaus来实现json写入文件和读取文件成json对象
- php实现数组中索引关联数据转换成json对象的方法
- C++通过构造器,实现对象初始化的两种方法(重载、默认参数)
- jsonToxml 通过LL型方法实现(C#)[源]
- json对象转为字符串,当做参数传递时加密解密的实现方法