JSON.parse()和JSON.stringify()的性能测试(示例)


当前第2页 返回上一页

914557593-5c891819f1ee7_articlex.png

2.不使用JSON序列化,直接修改参数 的结果:

1

2

3

4

5

6

7

8

9

function handleJsonData(lastData, res) {

    // 1. 使用 JSON.parse(JSON.stringify()) 深拷贝

    // let data = JSON.parse(JSON.stringify(lastData));

 

    // 2. 不使用JSON序列化,直接修改参数

    let data = lastData;

     

    // ...

}

1000421607-5c8918cd212be_articlex.png

maxCount=1000

1

intervalTest(jsonTest, {maxCount: 1000});

1.使用 JSON.parse(JSON.stringify()) 深拷贝 的结果:

1510926897-5c8919d64f291_articlex.png

2.不使用JSON序列化,直接修改参数 的结果:

3044760705-5c891a25b51ea_articlex.png

maxCount=10000

1

intervalTest(jsonTest, {maxCount: 10000});

1.使用 JSON.parse(JSON.stringify()) 深拷贝 的结果:

3220227486-5c891aa056944_articlex.png

2.不使用JSON序列化,直接修改参数 的结果:

2732674923-5c891adb4c058_articlex.png

场景2:判断一个对象是否为空对象

1

2

3

4

5

6

7

8

9

10

11

12

13

// 1. 使用 JSON.stringify() 判断一个对象是否为空对象

let isEmptyObject1 = function () {

    if (JSON.stringify(jsonData) === '{}') {

        // do something

    }

};

 

// 2. 使用 Object.keys().length 判断一个对象是否为空对象

let isEmptyObject2 = function () {

    if (Object.keys(jsonData).length === 0) {

        // do something

    }

};

只是走了一下判断条件,if内部没有执行代码

maxCount=1000

1.使用 JSON.stringify() 判断一个对象是否为空对象 的结果:

1

intervalTest(isEmptyObject1, {maxCount: 1000});

3087400301-5c891cb3baa2c_articlex.png

2.使用 Object.keys().length 判断一个对象是否为空对象 的结果:

1

intervalTest(isEmptyObject2, {maxCount: 1000});

1370096666-5c891cecd8cf6_articlex.png

maxCount=10000

1.使用 JSON.stringify() 判断一个对象是否为空对象 的结果:
1780191541-5c891d6c946db_articlex.png

2.使用 Object.keys().length 判断一个对象是否为空对象 的结果:

3932787942-5c891de2c9103_articlex.png

maxCount=100000

1.使用 JSON.stringify() 判断一个对象是否为空对象 的结果:

2484727381-5c891e3029711_articlex.png

2.使用 Object.keys().length 判断一个对象是否为空对象 的结果:

2145913060-5c891ed7d3306_articlex.png

关于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如何去掉字符串重复值

javascript中如何声明常量

javascript中如何更好地使用数组

javascript对象序列化、tostring()与valueof()的用法介绍

javascript怎么实现页面关闭

深入解析javascript中的作用域

javascript中string方法如何使用

闭包应用场景有哪些

javascript如何改变文本内容

javascript实现间隔和延时的方法是什么

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...