Double your localStorage read performance in Chrome using indexes
ls.getItem[i]
not keysls.getItem('key')
来源:this tweet和 this talk (幻灯片 19)由一些编写了几个很棒的 JavaSciript 库的人编写。我猜这些人知道他们在说什么,所以我想知道为什么这对我不起作用:
localStorage.setItem(0, 'Hello world');
localStorage.getItem(0); // 'Hello World' – Works as expected
localStorage.getItem[0]; // undefined
我是不是误会了什么?根据那个谈话,最后一个方法调用应该返回 'Hello world'
而不是 undefined
。
他们还链接到 this JS Bin ,但是当通过那里的索引读取值时,我仍然得到 undefined
。
编辑:我知道如何使用 localStorage 正确读取索引,我问的是关于索引的 getItem
。似乎谈话只是暗示了错误的用法?另外,我想知道为什么有 32 个人在没有测试的情况下转发了该用法。那些事情让我很恼火。
最佳答案
我叫克里斯,我是造成困惑的幻灯片的负责人。对于困惑,我深表歉意。这张幻灯片有点像个玩笑。请允许我解释一下..
在我们小组讨论之前的几天,发布并转发了一条关于将 localStorage 的读取性能提高一倍的推文。该推文是您引用的推文 ( Twitter )。然而,当我看到这条推文时,我又看了一眼,因为我觉得语法很不对。我测试语法只是为了发现与您所做的相同的事情:如果您尝试访问 localStorage 中的值,则此语法显然无效。
在 SXSW 的舞台上,这个神话被当作笑话呈现。是的,您可以通过引用 localStorage.getItem 上的数字索引获得双倍的性能。但是,所有值都未定义。
无论如何,似乎在试图消除错误信息的传播时,我设法进一步传播了它。感谢您提请我们注意这个问题!
关于javascript - 通过索引读取 localStorage 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10688974/