我在$(document).ready(function(){});
例如:
$(document).ready(function(){
$.getJSON("data.json", function(json) {
function Question(q,correactA,array)
{
this.question=q;
this.correct_a=correactA;
this.answers=array;
}
multiQ= new Array();
for (i=0;i<5;i++)
{
var q = json.questions[i].question;
var corA= json.questions[i].correct_answer;
var a = json.questions[i].answers;
var aString = "";
Object.keys(a).forEach(function (k) {aString += a[k] ;})
multiQ[i]=new Question(q,corA,aString);
}
for (i=0;i<5;i++)
{
console.log(multiQ[i]);
}
});
});
现在我想将multiQ数组发送到范围外的外部var。 我该怎么办?
答案 0 :(得分:-1)
这非常难看,但你可以在document.ready中分配一个全局的getter。例如:
var multiQ = new Array();
window.getMultiQ = function() { return multiQ; }
然后在文档就绪之外,你可以调用“var q = getMultiQ();”
同样,这非常难看,并且会导致代码难以维护。最有可能的是,有一种更容易/更清洁的方式来完成你想要做的事情。
答案 1 :(得分:-1)
声明
var multiQ= new Array();
外$(document).ready
函数:
var multiQ= new Array();
$(document).ready(function(){
$.getJSON("data.json", function(json) {
function Question(q,correactA,array)
{
this.question=q;
this.correct_a=correactA;
this.answers=array;
}
for (i=0;i<5;i++)
{
var q = json.questions[i].question;
var corA= json.questions[i].correct_answer;
var a = json.questions[i].answers;
var aString = "";
Object.keys(a).forEach(function (k) {aString += a[k] ;})
multiQ[i]=new Question(q,corA,aString);
}
for (i=0;i<5;i++)
{
console.log(multiQ[i]);
}
});
});