【发布时间】:2019-04-06 03:49:07
【问题描述】:
所以我有大量数据,格式为 JavaScript 对象,我的网站需要访问这些数据。因为这些数据不会被更新,所以我有两个选择:创建一个 JavaScript 文件并将数据作为变量粘贴。或者,我可以将数据上传为 JSON 文件,然后使用 Ajax 请求获取数据并将其解析为对象。
这里有一些代码来说明我的意思。
选项1(将数据作为JS对象变量保存在单独的JS文件中):
文件object.js
let myData = {
"1": "A",
"2": "B",
"3": "C",
"4": "D",
"5": "etc..."
};
...等等,除了我的数据非常大,所以这个文件最终有 25,000+ 行。
我在一些script.js
let myVar5 = myData["5"];
选项 2(将数据保存为 JSON,执行 Ajax 魔术,并解析为 JS 对象)
文件object.json
{
"1": "A",
"2": "B",
"3": "C",
"4": "D",
"5": "etc..."
}
然后在我的 script.js 我这样做:
let url = "/data/object.json";
$.getJSON(url, function(response) {
let data = JSON.parse(response);
let myVar5 = data["5"]
}
在内存、速度、存储和其他互联网网站的实用性方面,哪个选项的性能更好?
【问题讨论】:
-
ajax 会慢一些;脚本优化得很好。
-
我认为js文件和ajax检索没有太大区别。两者都将引发网络请求来检索数据,并且都将信息存储在用户环境中的某个位置。
-
多大?如果低于 1m 不明白为什么使用 json 解析和东西的开销......以及一些加载的文件。
-
最好将其作为 Javascript 对象放入脚本中,因为这样您就不必再进行 JSON.parse 了。
-
这个问题非常广泛:“更好的性能,它是所有可用性能测量的术语”。请将问题缩小到您认为相关的问题。请注意,测试任何性能的最佳方法是在用户最有可能使用的条件下测试应用程序的性能。
标签: javascript json ajax javascript-objects