JavaScript 语言中的 for
循环用于屡次执行代码块,它是 JavaScript 中最罕用的一个循环工具,还可用于数组的遍历循环等。
咱们为什么要应用 for
循环呢?打个比方,例如咱们想要控制台输入1到1000之间的所有数字,如果单写输入语句,要写1000句代码,然而如果应用 for
循环,几句代码就能实现。总之,应用 for
循环可能让咱们写代码更方便快捷(当然啦,否则要它干嘛)。
for 循环语法
语法如下所示:
for(变量初始化; 条件表达式; 变量更新) { // 条件表达式为true时执行的语句块}
- 变量初始化,示意代码块开始前执行。
- 条件表达式,定义运行循环代码块的条件。
- 变量更新,在循环代码块每次被执行之后再执行。
示例:
例如咱们在一个HTML文件中,编写如下代码,实现计算1到100的总和:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>JS_侠课岛(9xkd.com)</title></head><body><script> var result = 0; for(var i = 1; i <= 100; i++) { result = result + i; } alert(result);</script></body> </html>
在浏览器中关上这个文件,会弹出一个弹出层,弹出层中显示的是1到100的总和:
上述代码中,咱们申明了一个变量 result
并给它赋值为 0,示意初始的总和为 0 。
而后在 for
循环中三个语句:
- 变量初始化
i = 1
,示意从 1 开始计算。 - 条件表达式
i <= 100
,示意只有i
小于等于 100 循环就会始终执行,当i
大于 100 循环会进行。 - 变量更新
i++
,之前咱们学运算符的时候学过,这是递增运算符++
,示意为其操作数减少 1。
此时咱们能够一点点来看这个 for
循环:
第一次循环: result = 0 + 1 // 此时result值为0, i的值为1第二次循环: result = 1 + 2 // 此时result值为0+1,i的值为2第三次循环: result = 3 + 3 // 此时result值为1+2,i的值为3第四次循环: result = 6 + 4 // 此时result值为3+3,i的值为4第五次循环: result = 10 + 5 // 此时result值为6+4,i的值为5...
咱们只须要搞清楚 for
循环中的执行原理,不须要手动来计算求和,只有写好代码,执行代码后计算机会很快会通知咱们1到 100 的总和。
再补充一下,上述代码中result = result + i
,咱们也能够写成 result += i
,这是咱们之前学过的加赋值运算符,还记得吗?
示例:
再来看一个例子,例如咱们能够应用 for
循环来实现数组遍历,首先定义一个数组 lst
:
var lst = ["a", "b", "c", "d", "e"];
在写 for
循环时,首先就是要搞清楚小括号外面的三个语句,因为咱们能够通过数组中元素的下标索引来获取元素的值,而数组的索引又是从 0 开始,所以变量初始化能够设置为i = 0
。第二个条件表达式,因为数组中最初一个索引为 lst.length - 1
,所以只有小于等于 lst.length - 1
,循环就会始终执行。而i <= lst.length - 1
就相当于 i<lst.length
。第三个变量更新,当循环每循环一次,索引值就加一,所以为 i++
。
所以循环能够像上面这样写:
for(i = 0; i<lst.length; i++){ console.log(lst[i]); // 输入数组中的元素值,从索引为0的值开始输入,每次加1,始终到lst.length-1}
输入:
abcde
其实遍历数组还有一种更好的办法,就是应用 for...in
循环语句来遍历数组。
for...in 循环
for...in
循环次要用于遍历数组或对象属性,对数组或对象的属性进行循环操作。for...in
循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
语法如下:
for (变量 in 对象) { // 代码块}
for
循环括号内的变量是用来指定变量,指定的能够是数组对象或者是对象属性。
示例:
应用 for...in
循环遍历咱们定义好的 lst
数组:
var lst = ["a", "b", "c", "d", "e"];for(var l in lst){ console.log(lst[l]);}
输入:
abcde
除了数组,for...in
循环还能够遍历对象,例如咱们遍历 侠侠
的集体根本信息:
var object = { 姓名:'侠侠', 年龄:'22', 性别:'男', 出生日期:'1997-08-05', 职业:'程序员', 专长:'跳舞'}for(var i in object) { console.log(i + ":" + object[i]);}
输入:
姓名: 侠侠年龄: 22性别: 男出生日期: 1997-08-05职业:程序员专长:跳舞
入手小练习
- 请自定义一个长度为7的数组,而后通过
for
循环将数组中的元素遍历进去。 - 求和:1~100的奇数和。
- 求和:1~100的偶数和。
- 应用对象定义一个人的个人信息(包含姓名、性别、年龄、出生日期、兴趣爱好、职业、专长等),而后应用
for...in
循环将这些信息遍历输入。