《JavaScript视频3》流程控制语句

本文详细介绍了JavaScript中的流程控制语句,包括条件判断语句、条件分支语句(switch语句)、循环语句(for、while、do...while)以及break和continue的用法。此外,还探讨了如何使用计时器来控制程序执行时间。

代码块:

在JS中,可以用{}对语句进行分组,相同的组内语句,要么都执行,要么都不执行。每组语句被称为一个代码块,大括号只有分组作用。

流程控制语句:

  • 条件判断语句
  • 条件分支语句
  • 循环语句

条件判断语句

语法一:

if(条件表达式)
	语句

if语句只能控制紧随其后的语句,如果要控制多条语句,可以将这些语句统一放到代码块中。

var a = 10;
if (a > 10){
alert("a比10大")alert("我也要执行")}

语法二:

if (条件表达式){
语句1
}else{
语句2
}

语法三:

if (条件表达式){
语句1
}else if{
语句2
}else if{
语句3
}else {
语句4
}

prompt()函数

prompt()函数可以弹出一个带有文本框的提示框,用户输入的内容将会作为函数的返回值。

var score = prompt("请输入成绩:");

var num1  = +prompt("请输入num1:");
var num2  = +prompt("请输入num2:");
var num3  = +prompt("请输入num3:");
var max = num1 > num2? num1 : num2;
max = num3 > max? num3:max;
console.log(max);

条件分支语句(switch语句)

语法:
	switch(条件表达式){
		case 表达式:
			语句
			breakcase 表达式:
			语句
			breakdefault:
			语句
			break}

switch...case...语句,在执行时,会将case后的表达式和switch后的条件表达式的值进行全等比较

  • 如果比较结果为true,则从当前case出开始执行代码,如果不加break(退出循环),后面所有代码都会被执行;
  • 如果比较结果为false,则继续向下比较。
  • 如果所有比较结果都为false,则执行default后的语句。

该语句功能和if语句重复,可以根据习惯选择。

switch(true){
	case score >= 60:
		console.log("合格")
		break;
	default:
		console.log("不合格")
		break;
}

循环语句

1.while循环:

var n = 1;
	while(n < 10){
		document.write(n++ + "<br/>");
	}

2.do{}while()循环

var n = 1;
do{
	document.write(n++ + "<br/>");
	}while(n < 10)

3.for循环

语法:

for(初始化表达式;条件表达式;更新表达式){语句}
for(var i = 0; i < 10 ; i++ ){
	alert(i);
}

for循环执行流程:先执行初始化表达式,然后执行条件表达式,如果条件成立,则执行语句,如果条件不成立,则退出循环,最后执行更新表达式。

在for循环中,三个部分都可以省略,也可以写在外部。

var i = 0;
for(;i<10;){
	alert(i++);
}

水仙花数:

for(var i=100, result = 0;i<1000; i++){
	var a = parseInt(i/100);
	var b = parseInt((i-a*100)/10);
	var c = i % 10;
		if (a*a*a + b*b*b +c*c*c == i){
			document.write(i + "<br/>");
		}
	}

质数:

var num = prompt("请输入一个数字:");
if (num <=1) {
	alert("该值不合法");
}else{
	flag = true;
	for (var i = 2;i < num ; i++){
		if (num%i == 0){
			flag = false;
			document.write(num + "不是质数");
			break;
		}
	}
		if (flag){
			document.write(num + "是质数");
}
}

理解此处flag的意义。

因为因数是成对出现的,所以在内部循环时,只需要执行到两个因数相等的情况。在JS中,可以使用Math.sqrt()对一个数进行开平方。内部循环将检查的最大因数改为Math.sqrt(num)

嵌套for循环:

for(var i=0;i<5;i++){
	for(var n=0;n<i+1;n++){
		document.write("*&nbsp;&nbsp;&nbsp;");
	}
	document.write("</br>")
}

这道题是九九乘法表的前身

for(var i=1;i<=9;i++){
	for(var n=1;n<i+1;n++){
		document.write(n+"*"+i+"="+i*n+"&nbsp;&nbsp;&nbsp;");
	}
	document.write("</br>")
}

加css格式:

<script type="text/javascript">
	for(var i=1;i<=9;i++){
		for(var n=1;n<i+1;n++){
			document.write("<span>"+n+"*"+i+"="+i*n +"</span>");
		}
		document.write("</br>")
	}
</script>
<style type="text/css">
	span{
		display: inline-block;
		width: 80px;
	}
</style>

break

break:

  • 可以用来退出循环
  • 只能用于循环语句,不能用于单独的if语句
  • 只对离他最近的循环起作用

如果想要终止外层循环,可以给外层循环起一个名字(label),然后在break后面加上这个名字。

continue

continue:

  • 可以跳过当次循环。
  • 只对离他最近的循环起作用
计时器

可以通过console.time("name")开启一个计时器,通过console.timeEnd("name")关闭计时器。这样就可以在控制台看到中间程序执行的时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值