javascript - 使用本地或全局变量访问 json 文件的最佳方法是什么?
问题描述
我目前是 Cordova javascript 的代码,我使用 JSON 数组对象来存储示例、问题、答案和更多详细信息,大约对象大小为 1MB,并将对象存储到全局变量中,并在需要时访问它,如下所示。
var _quiz=
[{
v1:1
,code:"q1"
,type:"x1"
,question:"This is the question"
,answer:1
,options:"Ans1!###Ans2!###Ans3###Ans4"
},
{
v1:1
,type:"x2"
,certificate:"bronz"
,question:"This is the question"
,answer:3
,options:"Ans1!###Ans2!###Ans3###Ans4"
}
...
...
];
//Need to call many times
function processQuestion()
{
_quiz
...
...
}
但我认为这会占用更多的内存空间,并可能导致应用程序崩溃。所以我认为我们可以在需要时从函数中存储和返回 JSON 对象,这样就不会占用太多内存,并且对象存储为局部变量,如下例所示。请建议最好的方法。
function get_object()
{
var obj=
[{
v1:1
,code:"q1"
,type:"x1"
,question:"This is the question"
,answer:1
,options:"Ans1!###Ans2!###Ans3###Ans4"
},
{
v1:1
,type:"x2"
,certificate:"bronz"
,question:"This is the question"
,answer:3
,options:"Ans1!###Ans2!###Ans3###Ans4"
}
...
...
];
return obj;
}
//Need to call many times
function processQuestion()
{
var ques=get_object();
...
...
}
解决方案
在第二种方法中使用 let ,您可以做的另一件事是删除 var 声明并直接从 get_object() 函数返回对象,因此也有声明,如 return {object} 。
推荐阅读
- amazon-web-services - 使用无服务器框架重新部署 AWS CloudWatch Logs
- php - Wordpress CST 测验插件排行榜显示团队分数?
- apache-spark - 计算最大值的 PySpark 累加器
- reactjs - React:create-react-app 失败并出现错误“找不到模块 'lodash'”
- regex - 正则表达式提取最后一个句点和 md5 字符串
- python - python - 如何用pandas DataFrame中的第一个值替换NaN?
- python - 从文本文件创建列表
- python - Matplotlib 在 y 轴上打勾
- r - R:从日期和时间计算总小时数
- google-cloud-ml - ML-Engine 本地预测 - 无法运行模型