在哪里存储稍后将由Javascript访问的数据?
我有一些与下拉列表中的项目相关联的预设值。由于列表很大,我不想用在哪里存储稍后将由Javascript访问的数据?,javascript,jquery,Javascript,Jquery,我有一些与下拉列表中的项目相关联的预设值。由于列表很大,我不想用if-elseblock将它们存储在js文件中。 我发现我可以将它们存储为json格式,但似乎jquery.getJson()会发出http get请求,即使文件存储在本地。这可能会在获取值时增加一些延迟。在我的情况下,即时响应非常重要,因为这些值将在实时声音编辑功能期间更改。 我在想,也许我可以在页面加载本身上加载这些值,并将其存储在某个变量中,然后在需要时执行if-else以查找特定值。虽然我不确定这样做是否正确。请提出建议。您
if-else
block将它们存储在js文件中。
我发现我可以将它们存储为json格式,但似乎jquery.getJson()
会发出http get请求,即使文件存储在本地。这可能会在获取值时增加一些延迟。在我的情况下,即时响应非常重要,因为这些值将在实时声音编辑功能期间更改。
我在想,也许我可以在页面加载本身上加载这些值,并将其存储在某个变量中,然后在需要时执行
if-else
以查找特定值。虽然我不确定这样做是否正确。请提出建议。您提到了jQuery,所以我想,$。数据将起作用-您想过了吗
看看这个,并检查它是否符合您的任何目的。好吧,根据您的需求,您必须通过包含js文件来加载它们。
在主html中,您将有:
<script>
var GlobalData = {};
</script>
<script src="albums.js"></script>
<script src="songs.js"></script>
...
GlobalData.albums = [
//... your data here
];
然后,要在需要时访问这些数据,只需简单地操作即可
alert(GlobalData.albums.length);
但是,如果数据量很大,最好不要总是将其存储在内存中。您可以动态加载它或将其保存在localStorage
上
干杯这有什么关系?他可以将每个预设设置为相应的DOM元素。我发现它非常方便。localStorage是您的一个选择吗?我喜欢Edgars的方法/答案,但最近遇到类似问题时,我使用了jquery cookie,这是我从stackoverflow用户那里了解到的一个流行插件。不过cookie的存储空间限制在4k左右。