javascript - 我应该将数据作为变量存储在 javascript 中还是文本文件中?
问题描述
我正在创建一个网页,我希望它显示一个随机文本。假设我有大约 1000 个句子(例如),我想从列表中选择一个随机句子。
哪种方法更好:将所有这些句子存储在一个javascript array
或将它们存储在一个文本文件中,然后使用javascript
从文件中读取一行?
本质上,这对性能有何影响?1000 行只是示例,我想知道增加变量大小的一般方法应该如何。
期望的结果是网页应该快速加载,并且不应该在client side
.
请注意,页面是静态的,并且sentences
是不可变的,并且不会随着时间的推移而改变。
解决方案
如果您担心性能,将它们存储在数组中总是比将它们存储在文件中并读取它们会带来额外的成本,从而大大提高性能。
想象一下这样做是为了获取您的变量。(我假设它保存在您的本地机器中并且不涉及网络调用)与将变量保存在内存中
var myFile = new XMLHttpRequest();
myFile.open("GET", file, false);
myFile.onreadystatechange = function ()
{
if(myFile.readyState === 4)
{
if(myFile.status === 200 || myFile.status == 0)
{
var allText = myFile.responseText;
//Finally You get it Here. Phew!!!
}
}
}
您还可以考虑在localstorage
变量大小显着增长时进行存储。那会比文本文件执行得更好。但是,您需要记住,您不能直接存储,objects
并且array
在localstorage
. 您需要strigify
在检索它们时一次又一次地存储它,您需要解析它们,这需要额外付费。
推荐阅读
- css - Wordpress / CSS 文件仅适用于后端的一个菜单页
- javascript - forEach 在 Microsoft Edge 中不起作用
- symfony - 在某些情况下防止教义 postLoad 事件
- iis - ActiveX 组件无法在 w3wp.exe 中创建对象
- python - Selenium WebDriver 写入 CSV 文件时出现意外结果
- android - 尽管应用程序被杀死,服务仍在运行
- mysql - 如何将逗号分隔的字符串与逗号分隔的 MySQL 字段匹配
- powershell - 获取唯一值
- python - 函数的多个输入,特别是 itertools.product()
- swift - 在 tvOS 12 的 TVUIKit 中使用 TVPosterImage