Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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函数?_Javascript - Fatal编程技术网

导致循环结束的JavaScript函数?

导致循环结束的JavaScript函数?,javascript,Javascript,我的函数和循环有问题,不知道为什么 var a=['1,0,1','0,1,0','1,1,1']; VarB=[1,1,1]; 函数myFunction(){ 对于(i=0;i

我的函数和循环有问题,不知道为什么

var a=['1,0,1','0,1,0','1,1,1'];
VarB=[1,1,1];
函数myFunction(){
对于(i=0;i';
cs=0;
用户=“”;
}
}
函数余弦(A,B){
var-dotproduct=0;
var-mA=0;
var-mB=0;
对于(i=0;i

单击
在两个函数中使用相同的(全局)变量
i
。您应该在以下各项中将
i
声明为局部变量:

var i;
或在<代码>中,对于<代码>循环:

for (var i = 0; ...
因为两个循环当前使用相同的
i
,一旦
cosinism()
函数运行,第一个函数中的循环也将结束

如果您在“严格”模式下编码,则此类隐式全局使用会导致错误。

您在两个函数中使用相同的(全局)变量
i
。您应该在以下各项中将
i
声明为局部变量:

var i;
或在<代码>中,对于<代码>循环:

for (var i = 0; ...
因为两个循环当前使用相同的
i
,一旦
cosinism()
函数运行,第一个函数中的循环也将结束


如果您在“严格”模式下编码,您将从这种隐式全局使用中得到一个错误。

在循环中用
var i=0
替换
i=0
在循环中用
var i=0
替换
,不知道它会创建一个全局变量。使用let而不是var将进一步改进“i”的范围,以防@Future扩展其代码。@gk是的,没错,尽管旧版本的IE和旧Android浏览器不支持它。随着时间的推移,这当然变得不那么重要了。谢谢,我不知道它会创建一个全局变量。使用let而不是var将进一步改进“i”的范围,以防@Future扩展他的代码。@gk是的,没错,尽管旧版本的IE和旧的Android浏览器不支持它。当然,随着时间的推移,这一点变得越来越不重要了。