Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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 在JS的for循环中重新分配变量意味着什么?_Javascript - Fatal编程技术网

Javascript 在JS的for循环中重新分配变量意味着什么?

Javascript 在JS的for循环中重新分配变量意味着什么?,javascript,Javascript,我一直在努力编码一段时间,函数看起来很好,但循环是痛苦的 我非常理解这一行,除了以j=I开头的那一行,它指的是什么 text = "Blah blah blah blah blah blah Eric \ blah blah blah Eric blaeh blah Eric blah blah \ blah blah blah blah blah Eric"; var myName = "Eric"; var hits = []; for(var i = 0; i < text.l

我一直在努力编码一段时间,函数看起来很好,但循环是痛苦的

我非常理解这一行,除了以j=I开头的那一行,它指的是什么

text = "Blah blah blah blah blah blah Eric \
blah blah blah Eric blaeh blah Eric blah blah \
blah blah blah blah blah Eric";

var myName = "Eric";
var hits = [];


for(var i = 0; i < text.length; i++) {
if (text[i] === "E") {



    for(var j = i; j < (myName.length + i); j++) {
        hits.push(text[j]);
      }
   }
 }

if (hits.length === 0) {
console.log("Your name wasn't found!");
} else {
console.log(hits);
}
text=“诸如此类诸如此类诸如此类\
诸如此类的埃里克诸如此类的埃里克诸如此类的\
诸如此类诸如此类诸如此类的埃里克”;
var myName=“Eric”;
var命中率=[];
对于(变量i=0;i
不确定这是否是您的音乐会:j和i只是循环将要运行的索引的占位符。当第二个for循环将j分配给i时,一旦第一个for循环通过,第二个for循环将从我从第一个for循环中断的索引(文本中的位置)开始。

外部循环,定义
var i=0
,在文本字符串的字符索引上循环。对于每个字符索引,if语句检查它是否为“E”。当
i
为30时,字符串索引30处的字符(
text[i]
)是第一个E。if返回true并在大括号中运行代码。此时,它开始一个新的循环,
j
被设置为等于
i
(即30),子循环在
j
小于您的姓名长度(4)加上
i
(30)或34时运行。该子循环的每次迭代都会将索引为
j
text[j]
)的字母推送到
hits

,这意味着对于外部循环(或
i
循环)的每次迭代,
j
变量最初将具有
i
变量的值。因此,对于外循环的第一次迭代,
i
0
So
j
最初是
0
,第二次迭代时
i
1
所以
j
重新初始化为
1
。以此类推。

以下for循环的定义取自

(报表1;报表2;报表3){ 要执行的代码块}

语句1在循环(代码块)开始之前执行

语句2定义了运行循环的条件(代码 块)

语句3每次在循环(代码块)结束后执行 他被处决了

在您的情况下,
var j=i
在循环之前执行,因此
text[j]
在开始时将是
text[i]
,并且每次
j
增加时,
text[j]
将是
text[i]
后面的元素


因此,迭代进行
text[i]
->
text[i+1]
->…->
text[myName.length+i-1]

从外部循环的当前迭代开始内部循环。对不起,我是这里的新手,几天前开始编程,请您用一种技术性较低的语言详细说明一下,好吗?您的内部循环
j
从外部循环(
i
)当前进行的任何迭代开始。因此,如果
i
=1,
j
将从1开始计数