之前看到博客的关于Json对象的深复制方法,即

var obj = { 
sayName: function() { 
alert(this.name); 
}, 
name:'静水渊' 
};var cloneObj=JSON.parse(JSON.stringify(obj));cloneObj.sayName();

但这种方式,不能复制属性值是函数的属性,因此改进了方法,以下是具体代码:
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") : value); 
}); 
newObj = JSON.parse(str, function (key, value) { 
if (/^jsonFunction(.*)/.test(value)) { 
var strFun = '(' value.replace(/^jsonFunction(.*)/, "function") ')'; 
value = eval(strFun); 
} 
return value; 
}); 
return newObj; 
} 
var cloneObj=clone(obj); 
cloneObj.sayName();

因为还没有全面测试过,欢迎拍砖!

改进版通过Json对象实现深复制的方法的更多相关文章

  1. PHP对象的浅复制与深复制的实例详解

    这篇文章主要介绍了PHP对象的浅复制与深复制的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下

  2. 转换字符串为json对象的方法详解

    这篇文章主要介绍了转换字符串为json对象的方法。需要的朋友可以过来参考下,希望对大家有所帮助

  3. Json对象与Json字符串互转(4种转换方式)

    Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你

  4. 打印json对象的内容及JSON.stringify函数应用

    json对象的内容在调试的时候用的到通过JSON.stringify函数,可以转换json对象为字符串,接下来为大家详细介绍下,感兴趣的朋友可以参考下哈

  5. 使用json对象转化为key,value的对象数组

    这篇文章主要介绍了使用json对象转化为key,value的对象数组方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  6. Json对象替换字符串占位符实现代码

    实现根据提供的Json对象去替换字符串中相应的占位符。需要的朋友可以参考下。

  7. JSON数组和JSON对象在vue中的获取方法

    这两天在学习vue,主要是为了实现前后端的分离,因此数据的传输是必不可少的一个环节,这篇文章主要介绍了JSON数组和JSON对象在vue中的获取方法,需要的朋友可以参考下

  8. jQuery实现简单复制json对象和json对象集合操作示例

    这篇文章主要介绍了jQuery实现简单复制json对象和json对象集合操作,结合实例形式分析了jQuery使用extend方法操作json对象与json对象集合复制相关技巧,需要的朋友可以参考下

  9. Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在

    今天小编就为大家分享一篇关于Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解以及数组中查询某值是否存在,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

  10. 改进版通过Json对象实现深复制的方法

    改进版通过Json对象实现深复制的方法,需要的朋友可以参考下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部