首页 > 解决方案 > 我应该将数据作为变量存储在 javascript 中还是文本文件中?

问题描述

我正在创建一个网页,我希望它显示一个随机文本。假设我有大约 1000 个句子(例如),我想从列表中选择一个随机句子。

哪种方法更好:将所有这些句子存储在一个javascript array或将它们存储在一个文本文件中,然后使用javascript从文件中读取一行?

本质上,这对性能有何影响?1000 行只是示例,我想知道增加变量大小的一般方法应该如何。

期望的结果是网页应该快速加载,并且不应该在client side.

请注意,页面是静态的,并且sentences是不可变的,并且不会随着时间的推移而改变。

标签: javascripthtml

解决方案


如果您担心性能,将它们存储在数组中总是比将它们存储在文件中并读取它们会带来额外的成本,从而大大提高性能。

想象一下这样做是为了获取您的变量。(我假设它保存在您的本地机器中并且不涉及网络调用)将变量保存在内存中

  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并且arraylocalstorage. 您需要strigify在检索它们时一次又一次地存储它,您需要解析它们,这需要额外付费。


推荐阅读