基于Chrome开发人员工具的一个断点,我想我正在处理一个范围问题,我可以弄清楚。这是我定义函数的方式吗?下面的脚本是一个包含js文件和我希望可用于其他函数的数组'timeStamp,而不必每次都调用loadData函数。javascript以外的范围
timeStamp数组一旦离开for循环,甚至离开函数,它就会变成undefined。
var timeStamp = []; // Want this array to be global
function loadData (url){
$.getJSON(url, function(json) {
for (var i=0;i<json.length;i++){
timeStamp.push(json[i].TimeStamp);
}
console.log(inputBITS); //returns the value
});
console.log(inputBITS); //undefined
}
感谢您anyhelp
谢谢你的解释。去检查成功处理程序。 – rd42 2012-04-19 21:30:50
@ rd42 - 你已经有一个成功处理程序。这是匿名函数,它被声明为getJSON调用的第二个参数。这是在ajax调用成功完成时调用的函数。它在ajax网络完成后的某段时间被调用。 – jfriend00 2012-04-19 21:36:40
我有点困惑。两个console.logs()都在函数中,但只有一个被定义,第二个console.log()在加载数组之前不会被调用,对吧? – rd42 2012-04-19 21:38:16