localStorage使用优化
localStorage Usage optimization
本文关键字:优化 localStorage 更新时间:2024-03-23
在一个简单的Todo应用程序中,假设我们有一个应该存储在localStorage中的Todo列表数组。
var todoList=[{id:1,text:'todo1'},{id:2,text:'todo2'}]
要将数组存储在locaStorage中,必须对其进行字符串化,并将其存储为Object键值。
问题是,假设我有一个包含10000个项目的todo数组,那么每次存储该数组时,我是否必须将整个数组字符串化?有没有这样的方法只存储更改,并将其与当前项目合并?
我尝试过直接修改localStorage项目,如:
//this will replace last occurence of ] with new stringified object + ]
localStorage.todos.(/]$/, "new stringified object"+']')
但它不会修改localStorage中的原始对象,换句话说,您只能使用setItem()方法设置localStorage项。
最好只将localStorage
视为一种持久性机制,而不是一个保存您正在积极处理的数据的地方。在幕后,它只是一个键/值存储,其中的值总是一个字符串,因此字符串化整个值是不可避免的。
坦率地说,字符串化10000个项目的数组对性能的影响是可以忽略不计的(一个O(n)操作),所以我无论如何都不会担心,但如果你想从应用程序中挤出最后一点性能,那么我只会在必要时保留你的数据,而不是在每次修改之后。用内存中的副本操作你的TO-DO列表,然后在完成后将其字符串化。
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何将localStorage值设置为false
- 如果localstorage为空,则显示欢迎消息
- 以可优化的方式使用requirejs加载模板
- 基于localStorage的Meteor激活模板
- 使用优化器在慢速连接上加载main.js时需要js超时
- JavaScript数组优化以提高性能
- LocalStorage phonegap摄像头图像
- 我希望在不替换现有变量的情况下恢复localStorage中的变量
- React+Redux性能优化与组件ShouldUpdate
- 为什么localStorage[“..”]未定义,而localStorage.getItem(“..”)为null
- 使用HTML5 localStorage和jQuery添加到收藏夹/书签
- 在特定条件下从存储在localStorage中的阵列中删除对象
- JavaScript尾部调用中的函数是否经过优化
- JavaScript/Ionic2-为什么我可以't检索localStorage值
- javascript中的快捷方式融合优化
- using LocalStorage ionic 2
- 如何使用javascript localStorage保存用户选择并在不同的html页面中显示
- 从localStorage添加和检索阵列
- localStorage使用优化