断点调试
断点调试 可以帮助我们更快的找到 bug ,也能帮助我们更好的理解代码运行
在代码上加的标记称为 断点 ,当程序运行到带有标记的代码语句时会暂停
在浏览器打开 调试界面 ,按 F12 打开开发者工具(这里用的是谷歌浏览器),点到 源代码( 有的电脑是 sources) 一栏,在右边选择要调试的代码文件,然后在需要暂停的语句前打上 断点 ,这里选择了第 14 行:
当程序运行到断点时,会暂停,鼠标放到变量上,会显示变量的值,如下图:按 F11 或 右边向下的箭头(红框中),就会执行下一步
while 循环
循环执行某段代码,语法:
while 循环 与分支语句有点相似,都是要满足小括号内的条件为 true ,才会去执行循环体代码
while 大括号里的代码执行完毕之后不会跳出,而是继续回到小括号里面再次判断条件是否满足,如果满足循环条件,又会去执行循环体,直到循环条件不满足,就会自动跳出循环体
循环的本质 是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程
循环需要具备三要素:
<body>
<script>
let time = 5
while (time <= 10) {
document.write(`${time} <br>`)
time++
}
</script>
</body>
示例:计算 1 - 100 的总和,并输出结果
<body>
<script>
let num = 1
let sum = 0
while (num <= 100) {
sum += num
num++
}
console.log(`1 - 100 的总和为:${sum}`);
</script>
</body>
实现思路:声明变量 sum ,把每次累加的和赋值给 sum
示例:计算 1 - 100 之间的所有偶数和
<body>
<script>
let num = 1
let sum = 0
while (num <= 100) {
if (num % 2 === 0) {
sum += num
}
num++
}
console.log(`1 - 100 之间的所有偶数和为:${sum}`)
</script>
</body>
实现思路:在求和的基础上,通过 if 语句把 num 里的偶数筛选出来,将筛选出来的数据累加到 sum
循环退出
- continue 是结束本次循环,继续下次循环;
- break 是直接跳出所在的循环
示例:计算 1-10 内所有奇数的和
<body>
<script>
let num = 1
let sum = 0
while (num <= 10) {
if (num % 2 === 0) {
num++
continue
}
sum += num
console.log(num);
num++
}
console.log(`1 - 10 之间的所有奇数和为:${sum}`)
</script>
</body>
示例:打印前 5 个数:
<body>
<script>
let num = 1
while (num <= 10) {
if (num === 6) {
num++
break
}
console.log(num);
num++
}
</script>
</body>
示例:做一个简易版的取款功能,用户可以存款、取款、查看余额、退出
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style></style>
</head>
<body>
<script>
let money = +prompt('请输入初始金额:')
while (true) {
let strNum = prompt(`请选择要进行的操作(输入编号即可):
1. 存款
2. 查询余额
3. 取款
4. 退出
`)
switch (strNum) {
case '1':
let save = +prompt('请输入存款金额:')
money += save
break
case '2':
alert(`您的余额:${money}`)
break
case '3':
let stu = +prompt('请输入取款金额:')
money -= stu
break
}
if (strNum === '4') {
break
}
}
</script>
</body>
</html>
实现思路:
- 准备一个初始值,需要先预存金额
- 循环条件永远为 true ,将提示用户需要操作的信息写在循环体内,因为它需要反复输入,只有在操作数为 "4" 的情况下,才能可以结束循环,不再弹出提示框,这里需要单独进行判断
- 由于输入的操作不一样就会有对应的程序执行,因此选用 switch 来执行不同的操作: 取钱减法运算、存钱加法运算、查看余额直接显示
for 循环
for 循环也是重复执行代码,把声明起始值、循环条件、变化值写到一起,看起来更清晰
语法:
for 循环练习
练习1:求 1-100 之间所有偶数的和
<body>
<script>
let sum = 0
for (let i = 0; i <= 100; i++) {
if (i % 2 === 0) {
sum += i
}
}
console.log('1-100 的和为:' + sum)
</script>
</body>
练习2:在浏览器页面打印一行 “ ♥ ”
<script>
for (let i = 1; i <= 6; i++) {
document.write('♥')
}
</script>
练习3:将数组里的颜色依次打印出来
<script>
let arr = ['red', 'yellow', ' blue', 'green', 'pink']
for (let color = 0; color < arr.length; color++) {
document.write(arr[color])
document.write(`<br>`)
}
</script>
for 循环嵌套
for 循环嵌套,就是一个循环里面再嵌套一个循环,一般在 for 循环里用的最多
练习1:打印 5 行 5 列 的 ♥
<script>
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
document.write('♥')
}
document.write(`<br>`)
}
</script>
练习2:利用 for 双循环打印三角形
<script>
for (let i = 0; i < 5; i++) {
for (let j = 0; j <= i; j++) {
document.write('♥')
}
document.write(`<br>`)
}
</script>
练习3:打印九九乘法表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
span {
display: inline-block;
width: 92px;
height: 30px;
background-color: rgb(252, 162, 177);
border-radius: 5px;
text-align: center;
line-height: 30px;
margin-bottom: 5px;
}
</style>
</head>
<body>
<script>
for (let i = 1; i < 10; i++) {
for (let j = 1; j <= i; j++) {
document.write(`<span>${j} * ${i} = ${j * i}</span> `)
}
document.write(`<br>`)
}
</script>
</body>
</html>