1. 循环
1.1 for循环
for(var i = 0; i < 10; i++ ){
console.log(i)
}
抽象:for([initialization]; [condition]; [final-expression]) statement
执行顺序:
- 初始化变量
var i = 0;
- 判断 condition
if(i < 10)
- true -> 执行
statement
-> 执行final-expression
-> 开始下一轮循环 - false -> 结束循环
- true -> 执行
for循环 -> while循环:
var i = 0;
for(; i < 0; ) {
console.log(i)
i++;
}
while(i < 0) {
console.log(i)
i++;
}
var i= 100;
for(; i--; ){
console.log(i)
}
死循环:循环条件始终满足
循环控制:
- break:跳出整个循环
- continue:跳过此次循环
1.2 while 循环
while
do…whilewhile(condition) {
statement
}
不管条件是否满足,一定会执行一次do {
statement
} while(condition)
1.3 例题
打印0-100的数,要求:
- ( )中只能有一句,不能写比较
- { }不能出现i++ i—
var i = 100;
for(; i--; ) {
console.log(i);
}
m 的 n 次方 (n >= 0)
function nthPower(m, n) {
var res = 1;
for(var i = 0; i < n; i++) {
res *= m;
}
return res;
}
n 的阶乘 ( n>=0 )
function factorial(n) {
var res = 1;
for(var i = 1; i <= n; i++) {
res *= i;
}
return res;
}
打印100以内的质数 ```javascript /**
- n 大于1 的自然数 */ function isPrime(n) { let flag = true; for(var i = 2; i < n; i++) { if(n % i === 0) { flag = false; break; } } return flag; }
for(var i = 2; i <= 100; i++ ) { if(isPrime(i)) { console.log(i); } }
5. 用for循环求出第n位斐波那契数列
- 方法一:使用数组存储每一位的斐波那契数列值
```javascript
var fibArr = [0, 1];
function fibonacci(n) {
if (n >= fibArr.length) {
for(var i = fibArr.length; i <= n; i++) {
fibArr.push(fibArr[i-1] + fibArr[i-2])
}
}
return fibArr[n];
}
export fibonacci
- 方法二:普通计算
function fibonacci(n) {
var m2 = 0,
m1 = 1,
m = m1 + m2;
if(n === 0) return m2;
if(n === 1) return m1;
for(var i = 2; i < n;i++) {
m2 = m1;
m1 = m;
m = m1 + m2;
}
return m;
}
2. 引用值初始
2.1 Array 数组
var arr = [1, 2, 3, 4, 5, 6, 7];
// 索引
arr[5]
// 赋值
arr[3] = null;
// 长度
arr.length
// 遍历
for (var i = 0; i < arr.length; i++) {
console.log(arr[i])
arr[i] += 2;
}
2.2 Object 对象
// 声明与赋值
var mascot = {
name: "墩墩",
age: 1,
weight: 200,
height: 150,
job: "Mascot of 2022 winter Olympic Games"
}
// 取值
console.log(mascot.name)
// 赋值
mascot.name = "容融";