1.条件判断语句
- 条件判断语句也称为if语句
- 语法一:
if(条件表达式){
语句...
}
- 执行流程:
if语句执行时,会先对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则不执行
if语句只能控制紧随其后那个语句,
如果希望if控制多条语句可以将这些语句统一放到代码块中
if语句后的代码块不是必须的,但是在开发中尽量写上,即使if后只有一条语句
例子:var a=11;
if(a>10){
alert("a比10大");
alert("lallalalla");
}
- 语法二:
if(条件表达式){
语句...
}else{
语句...
}
- 执行流程:
if...else语句执行时,会对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则执行else后的语句
例子:var a=9;
if(a>10){
alert("a比10大");
}else{
alert("a比10小");
}
- 语法三:
if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else{
语句...
}
- 执行流程
- if...else if...else语句执行时,会自上至下依次对条件表达式进行求值判断,
如果判断结果为true,则执行当前if后的语句,执行完成后语句结束。
如果判断结果为false,则继续向下判断,直到找到为true的为止。
如果所有的条件表达式都是false,则执行else后的语句
该语句中,只会有一个代码块被执行,一旦代码块执行了,则直接结束语句
注意:prompt()可以弹出一个提示框,该提示框中会带有一个文本框
用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,
该字符串会作为提示框的提示文字
用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接受该内容
prompt()函数返回值类型是String
var score = prompt("请输入成绩:")
var num1 = +prompt("请输入数字大小:")
2.条件分支语句
- switch语句
- 语法:
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
- 执行流程:
-switch...case...语句在执行时,会依次将case后的表达式的值
和switch后的表达式的值进行全等比较
-如果比较结果为true,则从当前case处开始执行代码。
当前case后的所有代码都会执行,我们可以在case的后边跟着一个break关键字,
这样可以确保只会执行当前case后的语句,而不会执行其他的case
-如果比较结果为false,则继续向下比较。
-如果所有的case判断结果都为false,则从default处开始执行代码。
-switch语句和if语句的功能实际上有重复的
使用switch可以实现if功能,if也可以实现switch,根据自己需要使用
-其他写法:
var score=75;
switch(true){
case score >=60:
console.log("合格");
break;
default:
console.log("不合格");
break;
}
3.循环语句
- 通过循环语句可以反复执行某些语句多次
- while循环
- 语法:
while(条件表达式){
语句...
}
- 执行流程:
while语句在执行时,会先对条件表达式进行求值判断,
-如果判断结果为false,则终止循环
-如果判断结果为true,则执行循环体
循环体执行完毕,继续对条件表达式进行求值判断,依此类推
- do...while循环
- 语法:
do{
语句...
}while(条件表达式)
- 执行流程
do...while在执行时,会先执行do后的循环体,然后在对条件表达式进行判断,
如果判断判断结果为false,则终止循环。
如果判断结果为true,则继续执行循环体,依此类推
- 和while的区别:
while:先判断后执行
do...while: 先执行后判断
- do...while可以确保循环体至少执行一次。
- for循环
- 语法:
for(①初始化表达式 ; ②条件表达式 ; ④更新表达式){
③语句...
}
- 执行流程:
首先执行①初始化表达式,初始化一个变量,
然后对②条件表达式进行求值判断,如果为false则终止循环
如果判断结果为true,则执行③循环体
循环体执行完毕,执行④更新表达式,对变量进行更新。
更新表达式执行完毕重复②
- 死循环
while(true){
}
for(;;){
}
死循环不会停止,除非浏览器关闭,在开发中慎用,可以使用break终止循环
例子:while (true) {
var num = prompt("请输入一个大于1的整数:");
if (num >= 1) {
break;
}else{
alert("输入有误,请重新输入");
}
}
var flag = true;
for (var i = 2; i < num; i++) {
if (num % i == 0) {
flag = false;
break;//加上性能提升
}
}
if (flag) {
alert(+num + "是质数");
} else {
alert(+num + "不是质数");
}
优化:
Math.sqrt()对一个数进行开方
for (var i = 2; i <=Math.sqrt(i); i++)
4.break,continue
-break关键字可以用来退出switch或循环语句
不能再if语句使用break和continue
break关键字,会立即终止离他最近的那个循环语句
可以为循环语句创建一个label,来标识当前的循环
lable:循环语句
使用break语句时,可以在break后跟着一个lable,这样break将会结束指定的循环,而不是最近的
-continue关键字可以用来跳过当次循环
同样continue也是默认离他最近的循环起作用,也可用lable同上
-测试程序功能
在程序执行前,开启计时器
console.time()可以用来开启一个计时器
它需要一个字符串作为参数,这个字符串将会作为计时器的一个标识
console.time("test");
终止计时器
console.timeEnd()用来停止一个计时器,需要一个计时器名字作为参数
console.timeEnd("test");
JS流程控制
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...