while 循环
while (条件) {条件成立循环执行的代码}
- 不管什么循环都必须由以下几个内容组成
- 初始化
- 条件判断
- 要执行的代码
- 自身的改变
- 第四步如果不写, 那么这个循环就是一个 死循环
- 结束的时候 就是 电脑 冒烟的时候
// 1. 初始化
var num = 1
// 2. 条件判断
while (num < 5) {
// 3. 要执行的代码 (这里的代码数量不限制)
console.log(num)
// 4. 自身的改变
num++
}
console.log(num) // 5
/**
* 1. 初始化
* var num = 1 num === 1
*
* 2. 循环开始执行
* 2.1 判断 条件是否满足 num < 5 条件 满足, 开始执行 第一轮循环
* 循环内的代码
* console.log(num) --- 1
* num++ 当前 num 的值 还是 1 但是下一次使用num 的时候就是2了
* 循环内的代码执行完毕, 第一轮循环到此结束
*
* 2.2 判断 条件 是否满足 num < 5 条件满足, 开始执行 第 2 轮 循环
* 循环内的代码
* console.log(num) --- 2
* num++ 当前 num 的值 还是 2 但是下一次使用num 的时候就是3了
* 循环内的代码执行完毕, 第 2 轮循环到此结束
*
* 2.3 判断 条件 是否满足 num < 5 条件满足, 开始执行 第 3 轮 循环
* 循环内的代码
* console.log(num) --- 3
* num++ 当前 num 的值 还是 3 但是下一次使用 num 的时候就是 4 了
* 循环内的代码执行完毕, 第 3 轮循环到此结束
*
* 2.4 判断 条件 是否满足 num < 5 条件满足, 开始执行 第 4 轮 循环
* 循环内的代码
* console.log(num) --- 4
* num++ 当前 num 的值 还是 4 但是下一次使用 num 的时候就是 5 了
* 循环内的代码执行完毕, 第 4 轮循环到此结束
*
*
* 2.5 判断条件 是否满足 num < 5 因为上一轮循环完毕后 num === 5
* 所以此时条件不满足, 循环到此结束
*/
do...while 循环
do {要循环执行的代码} while (条件)
- 区别:
- while: 会先判断条件, 如果条件成立那么在开始执行循环
- do...while: 不管条件是否成立, 先执行一次循环的代码, 然后判断条件是否成立, 决定是否开启下一轮循环
var num = 10086
while (num < 5) {
console.log(num)
num++
}
// 1. 初始化
var num = 10086
do {
// 3. 循环要执行的代码
console.log(num)
// 4. 改变自身
num++
} while (num < 5) // 2. 判断条件
console.log(num)
for 循环
for (1. 初始化; 2. 判断条件; 4. 改变自身) { 3. 循环要执行的代码 }
/**
* 有一个三位数
* 每个位置上的三次方之和 正好等于自身
*
* 帮我找出 所有的水仙花数
*
*
* 举例:
* 123
* 1 * 1 * 1 + 2 * 2 * 2 + 3 * 3 * 3 === 是否等于 123
* 如果等于 那么就是水仙花数
* 否则不是
*
*
* 逻辑:
* 1. 找到所有的 三位数 (100~999)
* 2. 找到某一个三位数的各个位置的值
* 3. 计算三个位置上各个数字的三次方之和
* 4. 对比 是否等于自身
*/
// 1. 找到所有的 三位数 (100~999)
for (var i = 100; i < 1000; i++) {
// console.log(i)
// 2. 找到某一个三位数的各个位置的值
var gew = i % 10
var shiw = parseInt(i / 10) % 10
var baiw = parseInt(i / 100)
/**
* 3. 计算三个位置上各个数字的三次方之和
*
* **
* 会得到 符号左边数字的 x 次幂
*/
var sum = gew * gew * gew + shiw * shiw * shiw + baiw * baiw * baiw
// var sum = gew ** 3 + shiw ** 3 + baiw ** 3
// 4. 对比 是否等于自身
if (sum === i) {
console.log(i, '是一个水仙花数')
}
}