JSON.parse(字符串)得到的对象比直接定义的一个对象更加快

本文探讨了JavaScript解析JSON的效率优势,尤其是在处理大型对象时,通过JSON.parse相较于直接使用对象字面量的性能提升。实验结果显示了两者在解析8MB对象时的时间对比,适合对性能优化感兴趣的开发者。
摘要由CSDN通过智能技术生成

在这里插入图片描述
原因:

  1. 对于js引擎来说,JSON能够非常容易地被解析
  2. 对于js解析器来说,JSON.parse()不就是相当于只带有一个参数的call语句。

解析JSON时遇到大括号,只有两种情况,一种就是对象,另外一种就是无效的JSON。

但是,在js中,看到大括号就有非常多的情况。

const x = 12;
let y = ({x}); //创建了一个对象字面量
let y = ({x}) = {x:32}; //此处是解构赋值
const x = 100;
let y = ({x}) => x;

因此,解析JavaScript是非常复杂的,而解析JSON就没有这些问题。

所以,对于超级大的对象,用JSON.parse()比直接使用JS对象字面量更快。

最后,你可能想知道到底快了多少:以下是在没有缓存的情况下,加载一个8MB的对象速度对比。

在这里插入图片描述
可以在这里查看实验结果:点击此处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值