[英]local vs global variable in Javascript
我在Javascript中有以下代码:
var words = [];
d3.json("myFile.json", function(data) {
words = data.words;
console.log(words); //Log output to console
});
console.log(words); //Log output to console
第一个console.log(words);
显示了七个对象的数组。 但是第二个console.log(words);
显示一个空数组。 因此,看起来d3.json
函数外部的words
与该函数内部的words
。
我也尝试过使用console.log(window.words);
在函数之外,它仍然显示一个空数组。
我如何在d3.json
函数中获取从myFile.json
中读取的数据?
d3.json
是一个异步函数。 这意味着您传递的代码不会立即执行,而是作为对JSON文件请求返回后的回调 。 即,发送了针对该文件的网络请求,但是正常的执行流程仍在继续。
console.log(words);
在调用返回并填充数组之前,只需执行d3.json
外部即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.