Javascript 使用for循环对数组进行迭代到底是如何工作的?

Javascript 使用for循环对数组进行迭代到底是如何工作的?,javascript,arrays,loops,for-loop,conceptual-model,Javascript,Arrays,Loops,For Loop,Conceptual Model,我是一名javascript初学者,我了解如何迭代数组以及如何使用它,但我正在努力理解它为什么会工作 例如: let myArray = ["one", "two", "three", "four"]; for(let i = 0; i < myArray.length; i++){ console.log(myArray[i]); } 让myArray=[“一”、“二”、“三”、“四”]; 对于(设i

我是一名javascript初学者,我了解如何迭代数组以及如何使用它,但我正在努力理解它为什么会工作

例如:

let myArray = ["one", "two", "three", "four"];

for(let i = 0; i < myArray.length; i++){ 

console.log(myArray[i]);
}
让myArray=[“一”、“二”、“三”、“四”];
对于(设i=0;i
我理解for循环中3个部分中的每一部分都发生了什么,但我并不真正理解
I
是如何访问/与数组通信/连接到数组
myArray/与数组交换数据的。
在这段代码中的哪一点我们告诉javascript“I”以某种方式连接到了“myArray”

起初,我认为for循环本身隐含了某种东西,也就是说,当我们编写
I
时,它在某种程度上意味着
I=myArray
(即“I”被赋给
myArray
中任何内容的值)。但是经过进一步思考,
i
只是数组的长度(在本例中为4),并不真正连接这两者

因此,这为我打开了一个完整的蠕虫概念罐,除了for循环中的一个变量外,“i”实际上是什么。我一直认为“I”是我们创建的一种幽灵/临时变量,它将为我们进行循环,然后在循环完成后消失(我甚至不确定这是否是正确的隐喻)

如果我没有清楚地表达这一点,我提前道歉,因为我只是一个初学者

提前感谢。

变量i只是一个变量。它是一个随着每次迭代而递增的数字,当它通过数组中的所有索引递增时停止递增。变量i与myArray没有连接,只是它循环遍历myArray的所有索引(0、1、2、3)。它从0开始,并在for循环中执行命令(使用括号表示法获取myArray中的某个元素)时自我递增

例如,变量i从零开始。myArray为0时,在for循环中被调用,但专门针对第0个索引,即“1”。然后变量i递增,for循环中的代码调用数组的第一个索引,依此类推,直到满足条件i
我希望这有帮助

“在这段代码的哪一点上,我们告诉javascript“i”以某种方式连接到“myArray”?-
i
myArray[i]
。是的,
i
只是一个规则变量,它从
0
开始,在每次迭代中都会增加
,只要它小于数组的长度。在您的示例中,它用于访问
myArray[i]
中数组的不同索引。例如,
myArray[0]
myArray[1]
。。。等等。就像我有四个编号(索引)的箱子,你想看看每个箱子里都有什么,你可以过来告诉我第三个箱子里有什么,这与
myArray[2]
(因为数组索引从零开始)嗨,谢谢你的回复。我理解“它被用来访问myArray[I]中数组的不同索引”,但我不理解它是如何被访问的?有什么暗示吗?我看不出我们在哪里明确地建立了
I
myArray
之间的关系
I
myArray
之间没有关系,你只是要求
myArray
在你这样做
myArray[I]
的时候给你
I
中的数字的索引值(例如,
myArray[0]
myArray[1]
myArray[2]
,等等)。数组就是这样工作的,因为它们就是这样定义的。我想我现在明白了,谢谢你的帮助!