Skip to content

循环语句 ​

一、while 循环 ​

循环条件成立,执行代码块;循环条件不成立,跳出代码块。

代码结构: while ( 循环条件 ) { 循环代码块 }

计算 0~99 所有奇数和

javascript
var count = 1
var sum = 0

while (count < 100) {
	sum += count
	count += 2
}

console.log(sum) // 1 + 3 + ... + 99 = 2500

二、do..while 循环 ​

无论循环条件是否成立,do 循环体都会执行一次。

代码结构: do { 循环代码块 } while ( 循环条件 )

计算 0~99 所有偶数和

javascript
var count = 0
var sum = 0

do {
	sum += count
	count += 2
} while (count < 100)

console.log(sum) // 0 + 2 + ... + 98 = 2450

三、for 循环 ​

一个 for循环会一直重复执行,直到指定的循环条件为 false。

代码结构: for (begin; condition; step) { 循环代码块 }

四行四列 ★

javascript
for (var i = 0; i < 4; i++) {
	document.write('<div>')
	for (var j = 0; j < 4; j++) {
		document.write('<span>★ </span>')
	}
	document.write('</div>')
}

四行四列递进 ★

javascript
for (var i = 0; i < 4; i++) {
	document.write('<div>')
	for (var j = 0; j < i + 1; j++) {
		document.write('<span>★ </span>')
	}
	document.write('</div>')
}

九九乘法表

javascript
document.write('<table>')
for (var i = 0; i < 9; i++) {
	document.write('<tr>')
	for (var j = 0; j < i + 1; j++) {
		document.write(`<td>${i + 1} * ${j + 1} = ${(i + 1) * (j + 1)}</td>`)
	}
	document.write('</tr>')
}
document.write('<table>')

四、循环控制 ​

break: 跳出循环,循环结束

javascript
var names = ['abc', 'cba', 'nba', 'mba', 'aaa', 'bbb']

for (var i = 0; i < names.length; i++) {
	if (names[i] === 'nba') {
		// 跳出循环,循环结束
		break
	}

	console.log(names[i]) // abc cba
}

continue: 跳出当次循环,继续执行下一次循环

javascript
var names = ['abc', 'cba', 'nba', 'mba', 'aaa', 'bbb']

for (var i = 0; i < names.length; i++) {
	if (names[i] === 'nba') {
		// 跳出当次循环,继续执行下一次循环
		continue
	}

	console.log(names[i]) // abc cba mba aaa bbb
}

五、分支与循环 ​

根据随机生成的数字,猜大小,共 7 次机会

javascript
// 随机生成0~99的随机数
var randomNum = Math.floor(Math.random() * 100)

// 记录游戏是否成功
var isSucess = false

// 游戏可进行的次数
var gameCount = 7

for (var i = 0; i < gameCount; i++) {
	// 获取用户输入的数值
	var inputNum = Number(prompt('请输入您的数字:'))

	// 数值比较
	if (inputNum === randomNum) {
		isSucess = true
		alert('恭喜您,猜对啦!')
	} else if (inputNum > randomNum) {
		alert('很接近,您猜大啦!')
	} else {
		alert('很接近,您猜小啦!')
	}
}

if (!isSucess) {
	alert('机会用完了~')
}