一、JS的if语句
1、流程控制语句
(1)JS中的程序是从上到下一行一行执行的
(2)通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行
2、语句的分类
(1)条件判断语句
(2)条件分支语句
(3)循环语句
3、条件判断语句
(1)使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则不执行语句
(2)if语句
语法一:
if(条件表达式){
语句...
}
- if语句在执行时,会先对条件表达式进行求值判断,如果条件表达式的值为true,则执行if后的语句,如果条件表达式的值为false,则不会执行if后的语句
- if语句只能控制紧随其后的那条语句,若使用if语句需控制多条语句,则可将这些语句放入代码块中,即使用“{}”括起来使用
- if语句后的代码块不是必须的,但在开发尽量写上代码块,即使if语句后只控制一条语句
var result =10;
if(result>9)
//一个代码块
{
alert("hi"); //一条语句
console.log("hello"); //一条语句
document.write("good"); //一条语句
}
语法二:
if(条件表达式){
语句...
}else{
语句...
}
- if…else…语句在执行时,会先对if后的表达式进行求值判断,当该值为true时,则执行if后的语句,如果该值为false,则执行else后的语句
var age =18
if(age>=18){
alert("你已经成年了");
}else{
alert("你还未成年");
}
语法三:
if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else{
语句...
}
- if…else if…else语句在执行时,会从上到下依次对条件表达式进行求值判断,如果值为true,则会执行当前语句,如果值为false,则会继续向下判断,如果所有条件都不满足,则执行最后一个else后的语句
- 在该语句中,只有一个代码块会被执行,一旦代码块执行了,则直接结束语句
补充:利用prompt()函数可用于键盘输入数据,在使用prompt()函数时会弹出一个文本框,用户可以在文本框中输入一段内容,该内容需要一个字符串作为参数,该字符串将会作为提示框的提示文字。用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接受该内容。
//用prompt()函数可用于键盘输入数据
//定义一个data变量来接受该内容
var data = prompt("请输入一个数字:");
console.log("data="+data); //data = 输入的数据
二、JS的条件分支语句
1、条件分支语句也叫switch语句
语法:
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
2、执行流程:switch…case…语句在执行时依次将case后表达式的值和switch后的条件表达式进行全等比较,如果比较的结果为true,则从当前case处开始执行代码,如果比较的结果为false,则继续向下比较。使用break可以用来退出switch语句,如果所有的比较结果都为false,则只执行default后的语句
var num = 1;
switch(num){
case 1:
onsole.log("一");
break;
case 2:
console.log("二");
break;
case 3:
console.log("三");
break;
default:
console.log("输入错误");
break;
}
三、JS的while循环
1、循环语句:通过循环语句可以反复的执行一段代码多次
2、while循环(先判断再执行)
(1)语法:
while(条件表达式){
语句...
}
(2)while语句在执行时,先对条件表达式进行求值判断,如果值为true,则执行循环体,循环体执行完毕后,继续对表达式进行判断,如果为true,则继续执行循环体,以此类推。如果值为false,则终止循环
3、创建一个循环,需要三个步骤
(1)初始化一个变量
(2)在循环中设置一个条件表达式
(3)定义一个更新表达式,每次更新初始化变量
//创建一个初始化变量
var num = 1;
//设置一个条件表达式
while(num<10){
//更新初始化变量
alert(num++);
}
4、do…while循环(先执行再判断)
(1)语法:
do{
语句...
}while(条件表达式);
(2)执行流程:do…while语句在执行时,会先执行循环体,循环体执行完毕后,再对while后的条件表达式进行判断,如果结果为true,会继续执行循环体,执行完毕后继续判断,以此类推,如果结果为false,则终止循环
四、JS的for循环
1、for循环:在for循环中,提供三个专门的位置用来 放三个表达式
(1)初始化表达式
(2)条件表达式
(3)更新表达式
2、for循环的语法
for(初始化表达式;条件表达式;更新表达式){
语句...
}
for(var i=0;i<10;i++){
console.log("i="+i);
}
3、for循环的执行流程
(1)执行初始化表达式,初始化变量(只执行一次)
(2)执行条件表达式,判断是否执行循环,如果其值为true,则执行循环,如果其值为false,在终止循环
(3)执行更新表达式,更新表达式执行完毕后继续重复步骤二
五、JS的break和continue
1、break关键字
(1)break关键字可以用来退出switch或者循环语句
(2)不能在if语句中使用break和continue
(3)break关键字会立即终止距离它最近的那个循环语句
//for循环只执行一次就跳出了循环
for(var i=0;i<10;i++){
console.log(i);//输出0
break;//跳出for循环
}
if(true){
break;//break关键字不可以在if语句中使用
console.log(10);
}
2、可以为循环语句创建一个label标签,来标识当前循环。
格式:
label:循环语句
使用break关键字时,可以在break后跟一个label标签,这样break关键字将会执行指定的循环,而不是最近的循环
//label标签
outer:
//外部for循环
for(var i=1;i<10;i++){
console.log("外部循环:"+i);
//内部for循环
for(var j=1;j<10;j++){
if(j == 3){
break outer; //结束外部for循环
console.log("内部循环:"+j);
}
}
}
3、continue关键字
(1)continue关键字可以用来跳过当次循环,进行下一次循环
(2)continue关键字默认只会对它最近的循环起作用
(3)若想修改continue关键字所起作用的循环,则需创建一个label标签,方法同上
for(var k =0;k<3;k++){
if(k==1){
continue;//跳过k=1时的循环,进行下一次循环
}
console.log(k);//输出0 2
}
//label标签
outer:
//外部for循环
for(var i=1;i<10;i++){
console.log("外部循环:"+i);
//内部for循环
for(var j=1;j<10;j++){
if(j == 3){
continue outer; //结束外部for循环
console.log("内部循环:"+j);
}
}
}
注:console.time(“计时器名称”); 可以用来开启一个计时器,它需要一个字符串作为参数,这个字符串将会作为计时器的标识
console.timeEnd(“计时器名称”); 用来停止一个计时器,需要一个计时器的名字作为参数
//开始计时器
console.time("test");
//label标签
outer:
//外部for循环
for(var i=1;i<10;i++){
console.log("外部循环:"+i);
//内部for循环
for(var j=1;j<10;j++){
if(j == 3){
continue outer; //结束外部for循环
console.log("内部循环:"+j);
}
}
}
//终止计时器
console.timeEnd("test");