2.不使用JSON序列化,直接修改参数 的结果:
1 2 3 4 5 6 7 8 9 |
|
maxCount=1000
1 |
|
1.使用 JSON.parse(JSON.stringify()) 深拷贝 的结果:
2.不使用JSON序列化,直接修改参数 的结果:
maxCount=10000
1 |
|
1.使用 JSON.parse(JSON.stringify()) 深拷贝 的结果:
2.不使用JSON序列化,直接修改参数 的结果:
场景2:判断一个对象是否为空对象
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
只是走了一下判断条件,if内部没有执行代码
maxCount=1000
1.使用 JSON.stringify() 判断一个对象是否为空对象 的结果:
1 |
|
2.使用 Object.keys().length 判断一个对象是否为空对象 的结果:
1 |
|
maxCount=10000
1.使用 JSON.stringify() 判断一个对象是否为空对象 的结果:
2.使用 Object.keys().length 判断一个对象是否为空对象 的结果:
maxCount=100000
1.使用 JSON.stringify() 判断一个对象是否为空对象 的结果:
2.使用 Object.keys().length 判断一个对象是否为空对象 的结果:
关于JSON.parse()和JSON.stringify()的测试先到此为止,变换参数、更改执行的代码块可能会有不同结果,以上结果仅供参考。
小结论:能不用JSON.parse()和JSON.stringify()就不用,采用替代方案且性能更优的。PS:特别是需要多次执行的代码块,特别是这个JSON数据比较庞大时
还有更多关于JSON.parse()和JSON.stringify()的知识等着大家去挖掘,欢迎大家一起交流学习~
关于JSON.parse(JSON.stringify(obj)):关于JSON.parse(JSON.stringify(obj))实现深拷贝应该注意的坑
关于深拷贝:深拷贝的终极探索(99%的人都不知道)
以上就是JSON.parse()和JSON.stringify()的性能测试(示例)的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
javascript对象序列化、tostring()与valueof()的用法介绍
更多相关阅读请进入《javascript》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者