对于js里的for循环
基础写法
const digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let i = 0;i<digits.length;i++){
console.log(digits[i])
},
定义一个变量i,设定它的初始值为0,设定i最大值不得大于数组digits的长度,每次运行循环后 i 增加1
for in 写法
定义变量i,不需要初始化,声明它来自于数组digits,取下标就能遍历数组
for (let i in digits){
console.log(digits[i])
},
for of 写法
最类似python的写法
等同python里的for i in range
对于数组digits里的每个值 有变量i
打印变量i
(这里加了个小判定 即 对 i 取它与二的余数,如果取余数为零成立 则打印
for (let i of digits){
if (i % 2 === 0){
console.log(i)
}
}
使用…展开的写法
有数组digits
console.log(…digits)
会把数组里的元素取引号打印
但是如果是这种写法
<script>
const fruits = ["apples", "bananas", "pears"];
const vegetables = ["corn", "potatoes", "carrots"];
const produce = [...fruits,...vegetables];
console.log(...produce);
</script>
虽然打印出来的值为
apples bananas pears corn potatoes carrots
但是在传值过程中仍然以array数组形式传递
全代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
</head>
<body>
<script>
const digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(...digits);
const fruits = ["apples", "bananas", "pears"];
const vegetables = ["corn", "potatoes", "carrots"];
const produce = [...fruits,...vegetables];
debugger
console.log(...produce);
for (let i = 0;i<digits.length;i++){
console.log(digits[i])
}
for (let i in digits){
console.log(digits[i])
}
for (let i of digits){
if (i % 2 === 0){
console.log(i)
}
}
// for (const index in digits) {
// console.log(digits[index]);
// }
</script>
</body>
</html>
for (const index in digits) {
// console.log(digits[index]);
// }
</script>
```