在javascript中的for循环中使用if语句时出错
我编写了一个java脚本代码来计算三角形三条边上的行驶距离,三角形的角由三个邮政编码组成。我想用三个距离(如a-b-c)做一个简单的计算,并显示结果。我得到的结果是空的。我的代码哪里出错了在javascript中的for循环中使用if语句时出错,javascript,if-statement,for-loop,Javascript,If Statement,For Loop,我编写了一个java脚本代码来计算三角形三条边上的行驶距离,三角形的角由三个邮政编码组成。我想用三个距离(如a-b-c)做一个简单的计算,并显示结果。我得到的结果是空的。我的代码哪里出错了 函数初始化(){ 变量映射选项={ 缩放:8, 中心:新google.maps.LatLng(-34.397150.644), mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.map(document.getElement
函数初始化(){
变量映射选项={
缩放:8,
中心:新google.maps.LatLng(-34.397150.644),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“map_canvas”),mapOptions);
//初始化全局变量
var zipCodesToLookup1=新数组('31402','30308','30901','31402');
var输出='FromToMiles';
var差异=“0”;
var totalDist=0;
//文件。书写(差异);
//执行距离矩阵查询
var service=new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
起源:Zipcodetolookup1,
目的地:Zipcodetolookup1,
travelMode:google.maps.travelMode.DRIVING,
unitSystem:google.maps.unitSystem.IMPERIAL
},功能(响应、状态){
if(status==google.maps.DistanceMatrixStatus.OK){
var origins=response.originAddresses;
var destinations=response.destinationaddress;
对于(变量i=0;i
html,主体,#映射#画布{
高度:500px;
宽度:500px;
边际:0px;
填充:0px
}
在当前实现中,if
语句中的变量与for
循环中的变量不同。那可能不是你想要的。您应该从if
语句中删除var
关键字,就像我在下面所做的那样。如果变量应该是不同的,最好使用不同的名称
for(var i=0; i < origins.length-1; i++) {
var results = response.rows[i].elements;
output += '<tr><td>' + origins[i] + '</td><td>' + destinations[i+1] + '</td><td>' + results[i+1].distance.text + '</td></tr>';
if (i == 0){
totalDist += results[i+1].distance.value;
}
else {
totalDist -= results[i+1].distance.value;
}
}
for(变量i=0;i
javascript中的变量作用域可能很棘手。如果(i=0){
它应该是赋值吗?明白了。如果(i==0){
@NinaScholz,它应该是',不应该。我注意到了var
,但错过了赋值而不是比较。答案已经更新。