1、流程控制
区分语句和表达式:
- 1、所有的有值的内容都是表达式
- 2、语句是JS中定义好的,如:声明语句 var a = 110、if语句、for语句、while语句…
- 3、通常情况下,语句建议使用分号结束,在JS中,分号也可以不加
1、选择结构
if语句,格式如下:
if(条件表达式){
}else if(条件表达式){
}else{
}
- 1、条件表达式的结果是布尔值,如果不是,则会发生隐式类型转化
- null、und、0、-0、NaN、空串会转化成false,其他都会转化成true
- 2、大括号后面的分号可以加,也可以不加,有些情况必加
- 3、字面量最好放在左边,一旦少些了=,会报错,不容易出错
switch语句,格式如下:
switch(表达式){
case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;
…
case 常量表达式n: 语句n;break;
default: 语句n+1;
}
- 1、case判断是===,应注意数据类型的转化
- 2、switch中的表达式可以是变量、字面量、表达式
- 3、case后面的可以是变量、字面量、表达式
- 4、break表示结束掉整个switch语句
- 4、如果没有break,则从满足条件的case开始,后面的所有case都会执行,default也会执行
- 5、default后面的break可写可不写
2、循环结构
while循环语句:
格式如下:
while(条件表达式){} //{...}叫循环体
- 条件表达式的结果是布尔值,如果不是,则会发生隐式类型转化
- null、und、0、-0、NaN、空串会转化成false,其他都会转化成true
do…while循环语句:
格式如下:
do{}while(条件表达式)
- 先执行do后面的{ }中的代码,不管条件是否满足,第一次肯定要执行
- 然后判断条件表达式是否成立,如果成立,继续执行循环体,如果不成立,结束循环
for循环语句
格式如下:
for( ; ; ){}
- 如果循环次数确定,使用for循环
- 如果循环次数不确定,建议使用while循环
break和continue:
- break结束整个循环,continue结束本次循环,继续下次循环。
练习出经验,练习是精华,练习才是硬道理:
1、在判断某月某日是一年中的某一天时可以使用switch语句,从12月倒数往下写,不写break,天数加等上月的天数,一月一月往下加,只需在二月份的天数那里编写平闰年,一月份加date日期。
2、还有一题,给定一个随机数,换算成多少天多少小时多少分钟多少秒
理解题意很重要,36800秒是1天0小时0分钟0秒。
3、循环控制
for(var i = 1; i <= 4; x++){
//下面这两行效果是一样的
for(var y = x; y <= 4; y++){}
for(var y = 4; y >= i; y--){}
}
4、求1-100之间,除了能被7整除之外的整数和
可以用continue;如果除余等于7就continue