首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS】261- 如何提升JSON.stringify()性能?

熟悉JSON.stringify() 在浏览器端或服务端,JSON.stringify()都是我们很常用方法: 将 JSON object 存储到 localStorage 中; POST 请求中...比 stringify 更快 stringify 由于 JavaScript 是动态性很强语言,所以对于一个 Object 类型变量,其包含键名、键值、键值类型最终只能在运行时确定。...总结来看,如何得到比 stringify 更快 stringify 方法呢?...需要先确定对象结构信息; 根据其结构信息,为该种结构对象创建“定制化”stringify方法,其内部实际是通过字符串拼接生成结果; 最后,使用该“定制化”方法来 stringify 对象即可。...stringify 函数具体代码。

1.5K10

JS 原生方法原理探究(八):如何实现 JSON.stringify()?

这是JS 原生方法原理探究系列第八篇文章。本文会介绍如何实现 JSON.stringify() 方法。 JSON.stringify() 可以将对象或值转化为 JSON 字符串。...理论上,它可以接受很多种不同数据类型作为参数,而不同数据类型,处理和转化结果也不同。所以在实现这个方法之前,我们先弄清楚具体处理规则。...throw new Error('存在循环引用') } } }) console.log('不存在循环引用') } 在 JSON.stringify...属性丢失其实就是在遍历对象时候略过这些属性 在检测循环引用时候,存在嵌套关系对象应该共享同一条父级链,所以递归时候需要把存放父级链数组传进去;同时,不存在嵌套关系两个对象不应该共享同一条父级链...最后,我并没有实现 JSON.stringify() 中 replacer 参数和 space 参数,感兴趣读者可以在上面代码基础上进一步拓展。 本文到此结束,感谢你阅读。

1.8K50
您找到你想要的搜索结果了吗?
是的
没有找到

慎用JSON.stringify

JSON.stringify 基础语法 JSON.stringify(value[, replacer [, space]]) 概念 MDN 中文文档对它解释如下: JSON.stringify()...我个人觉得是有所不妥,不妥之处在于“对象或者数组”,因为实际上对于普通值,我们也可以使用 JSON.stringify,只是我们很少这么用罢了。...JSON.stringify 强大第二个参数 replacer 这个参数是可选,可以是一个函数,也可以是一个数组 当是一个函数时候,则在序列化过程中,被序列化每个属性都会经过该函数转换和处理...to null[1] MDN JSON.stringify()[2] json.stringify()妙用,json.stringify()与json.parse()区别[3] 你不知道 JSON.stringify...[3] json.stringify()妙用,json.stringify()与json.parse()区别: https://www.cnblogs.com/echolun/p/9631836.

96130

JSON.stringify()

JSON.stringify() JSON.stringify()九大特性 第一个特性 对于undefined、任意函数以及symbol三个特殊值分别作为对象属性值、数组元素、单独值时JSON.stringify...undefined、任意函数以及symbol被JSON.stringify()作为单独值进行序列化时都会返回undefined。...// "["aaa",null,null,null,"eee"]" 正如我们在第一特性所说,JSON.stringify()序列化时会忽略一些特殊值,所以不能保证序列化后字符串还是以特定顺序出现(...) ); // "{"y":"stringify"}" 第八大特性 我们都知道实现深拷贝最简单粗暴方式就是序列化:JSON.parse(JSON.stringify()),这个方式实现深拷贝会因为序列化诸多特性从而导致诸多坑点...": "今天在学 JSON.stringify()", // "emotion": "like shit" // }" 上面代码一眼就能看出第三个参数作用了,花里胡哨,其实这个参数还是比较鸡肋

90220

JavascriptJSON.stringify()知多少?

写在前面 前几天看到前端胖头鱼一篇文章《就因为JSON.stringify,我年终奖差点打水漂了》,讲就是JSON.stringify在工程开发中应用,线上用户不能提交表单。...本篇文章就将详细谈谈JSON.stringify,并将带着你进行自己手写一个JSON.stringify,站在全局考察自己对于各种数据类型理解深度,和各种极端边界情况处理能力。...JSON.stringify() JSON.stringify是日常开发中经常用到JSON对象中一个方法,用于将一个 JavaScript 对象或值转换为 JSON 字符串,如果指定了一个 replacer...手撕JSON.stringify() 其实现场手撕代码还是有点麻烦,需要考虑到对各种类型数据进行处理,考虑各种边界情况。...,我年终奖差点打水漂了》 写在最后 我们平时开发中将JSON.stringify应用最多可能就是浅层对象进行深拷贝,也就是进行序列化处理。

1.2K00

JSON.stringify() 5 个秘密特性

作为一名 JavaScript 开发人员,JSON.stringify() 是用于调试最常见函数。但是它作用是什么呢,难道我们不能使用 console.log() 来做同样事情吗?..."{ "name" : "Prateek Singh", "age" : 26 }" 一般来说,开发人员使用 stringify 函数场景较为普遍,就像我们在上面做那样。...但我要告诉你一些隐藏秘密,这些小秘密会让你开发起来更加轻松。 第二个参数(数组) 是的,stringify 函数也可以有第二个参数。它是要在控制台中打印对象键数组。看起来很简单?...当对象变大时,查找属性难度增加。stringify 函数第二个参数这时就有用了。让我们重写代码并查看结果。...我希望你能学到 stringify() 一些基本特征。

71420

JSON.stringify() 5 个秘密特性

作为一名 JavaScript 开发人员,JSON.stringify() 是用于调试最常见函数。但是它作用是什么呢,难道我们不能使用 console.log() 来做同样事情吗?...但我要告诉你一些隐藏秘密,这些小秘密会让你开发起来更加轻松。 第二个参数(数组) 是的,stringify 函数也可以有第二个参数。它是要在控制台中打印对象键数组。看起来很简单?...当对象变大时,查找属性难度增加。stringify 函数第二个参数这时就有用了。让我们重写代码并查看结果。...JSON.stringify 返回这个函数结果并对其进行序列化,而不是将整个对象转换为字符串。参考下面的例子。...我希望你能学到 stringify() 一些基本特征。

79730

JSON.stringify() 5 个秘密特性

"{ "name" : "Prateek Singh", "age" : 26 }" 一般来说,开发人员使用 stringify 函数场景较为普遍,就像我们在上面做那样。...但我要告诉你一些隐藏秘密,这些小秘密会让你开发起来更加轻松。 第二个参数(数组) 是的,stringify 函数也可以有第二个参数。它是要在控制台中打印对象键数组。看起来很简单?...当对象变大时,查找属性难度增加。stringify 函数第二个参数这时就有用了。让我们重写代码并查看结果。...JSON.stringify 返回这个函数结果并对其进行序列化,而不是将整个对象转换为字符串。参考下面的例子。...我希望你能学到 stringify() 一些基本特征。

62351

差点因为 JSON.stringify 丢了奖金...

由于JSON.stringify错误使用,他负责其中一个业务模块上线后出现了bug,导致某个页面无法使用,进而影响用户体验,差点让他失去年终奖。 在这篇文章中,我将分享这个悲伤故事。...然后我们还将讨论 JSON.stringify 各种功能,以帮助您避免将来也犯同样错误。 我们现在开始 故事是这样。 他所在公司,有一位同事离开了,然后胖头被要求接受离开同事工作内容。...接着,我们一起来了解一下 JSON.stringify,它为啥那么“厉害”,差点把我朋友奖金都给弄丢了。...了解一下 JSON.stringify 其实,这个bug主要是因为胖头对JSON.stringify不熟悉造成,所以,这里我们就一起来分析一下这个内置函数一些特点。...自己实现 JSON.stringify 理解一个函数最好方法是自己实现它。

41310
领券