【发布时间】:2014-03-05 11:33:22
【问题描述】:
首先我是 javascript 新手,这是我第一个使用这种语言的“项目”,所以我提前为我的菜鸟道歉。
我在这个项目中使用了传单和 D3,我似乎无法让这个函数返回除“未定义”之外的任何内容。起初我虽然没有从函数中正确返回,所以我尝试在这里以较小的规模复制错误:
但是,这对我有用,所以现在我有点不知所措。
这是我的代码的简单版本,我尝试删除所有看起来不相关的内容并更改名称以使其更易于理解:
$(function () {
...
function getThings(code) {
d3.csv("data.csv", function(data){
for (var i = 0, len = data.length; i < len; i++){
if (data[i].code == code){
alert("return 5!")
return 5;
}
else{
return 0;
}
}
})
}
L.geoJson( features, {
style: function (feature) {
return { opacity: 0, fillOpacity: 0.5, fillColor: "#0f0" };
},
onEachFeature: function(feature, layer){
var test = getThings(5);
alert(test);
...
我一直在“返回 5!”警报,然后在警报(测试)处我得到“未定义”。
有人知道我哪里出错了吗? 提前致谢!
【问题讨论】:
标签: javascript d3.js leaflet geojson