Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中的for循环中使用if语句时出错_Javascript_If Statement_For Loop - Fatal编程技术网

在javascript中的for循环中使用if语句时出错

在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

我编写了一个java脚本代码来计算三角形三条边上的行驶距离,三角形的角由三个邮政编码组成。我想用三个距离(如a-b-c)做一个简单的计算,并显示结果。我得到的结果是空的。我的代码哪里出错了

函数初始化(){
变量映射选项={
缩放: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
,但错过了赋值而不是比较。答案已经更新。