什么叫做语句?
语句:可以理解为语言中一句一句完整的话,程序是由一条条语句构成的,语句是按照自上往下的顺序执行的。
在JavaScript可以使用{ }来为语句进行分组。同一{ }中的语句称为一组语句,他们要么都执行要么都不执行;
一个{ }中的语句也称之为代码块,代码块后面不需要添加分号(;)。
JS中的代码块只有分组的作用没有其他的作用。代码块中内部的内容再外部同样可以使用。
流程控制语句
JavaScript中的语句是从上到下一层一层执行的
通过流程控制语句可以控制程序执行的流程,使程序可以根据一定的条件来选择执行。
语句的分类:
1、条件判断语句
2、条件分支语句
3、循环语句
条件判断语句
使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,如果条件不成立则语句不执行。
if语句
if 语句,条件位置处,必须Boolean的值 / 表达式 / 变量,如果不是Boolean类型的话,JS会自动进行转换
例如这些 if(0/0.0/null/undefined/NaN){} 这些 if 都会认为是false。除此以外一律为真。
语法一:
if(条件表达式){
语句…
}
if 语句
规则:if语句在执行时会先对条件表达式进行求值判断;
- 如果条件表达式为true,则执行if后的语句;
- 如果条件表达式为false,则不会执行if后的语句;
实例:
1、条件表达式值为true,则继续执行后面的语句
if 语句只能控制紧随其后的那个语句
实例:
var a=11;
if(a<10)
alert("如果a<10则输出");
alert("雨女无瓜");
如果希望if语句可以控制多个语句,可以将语句分组,统一放在代码块中
var a=11;
if(a>10) {
document.write("如果a>10则输出");
alert("雨女无瓜");
}
注意: if语句后的代码块不是必须的,但在代码开发的时候尽量写上代码块,哪怕只有一行语句
语法二:
if (条件表达式) {
语句…
}
else{
语句…
}
if…else…语句:(复杂if结构 或 多重if结构)
规则:当使用if…else语句的时候,会先对if后的条件表达式进行求值判断。
- 如果该值为true,则执行if后的语句;
- 如果该值为false,则执行else后的语句;
实例:
var age=70
if(age<60){
alert("还不到退休的年龄~")
}else{
alert("已经退休了~")
}
语法三:
if(条件表达式){
语法…
}else if(条件表达式){
语句…
}else if(条件表达式){
语句…
}else{
语句…
}
if…else if…else语句
规则:当该语句执行时,会从上到下对条件表达式进行求值判断
- 如果值为true,则执行当前语句
- 如果值为false,则继续向下判断
- 如果所有条件都不满足,则执行else后面的语句
在该语句中只有一个代码块会被执行,一旦代码块执行了,则直接结束语句。
实例:
var week=4;
if(week>5) {
alert("到周末了,放假了~")
} else if(week>3){
alert("这周快过去了")
}else if(week=1){
alert("黑色星期一")
}else{
alert("随便什么日子~")
}
注意:语句是从上到下进行运算检查的,如果符合了一个表达式的条件,就会执行其后面的代码,不会再继续向下执行。
所以要注意语句编写的顺序。
var age=40;
if(age>17) {
alert("成年了")
} else if(age>30){
alert("人到中年")
}else if(age<18){
alert("未成年")
}else{
alert("年纪不小了")
}
代码练习:
例一:
从键盘输入小明的成绩:
当成绩为100时,输出“奖励一笔记本”
当成绩为[80~90]时,输出“奖励一部手机”
当成绩为[60~80]时,输出“奖励一本试卷”
当成绩小于60时,什么奖励也没有。
注意:在进行if条件语句书写的时候要充分考虑可能出现的情况。
就本例而言,满分为100分,所以输入大于100或小于0,又或是非数字的值都是不符合要求的。
方法:
使用prompt( ) 函数,可以弹出提示框,该提示框中会有一个文本框。
用户可以在文本框中输入一段内容,该函数需要字符串作为一段参数,该字符串将会作为提示框的提示文字出现。
用户出现的内容会作为函数的返回值出现,可以定义一个变量来接收该内容。
代码:
var score=prompt("请输入成绩");
if(score > 100 || score < 0 || isNaN(score)){
alert("请输入0~100之间的数字~")
}
else{
if(score=100) {
alert("奖励一笔记本")
} else if(score>80 && score<99){
//或是else if(score>=80);
alert("奖励一部手机")
}else if(score<80 && score>60){
alert("奖励一本试卷")
}else{
alert("什么奖励也没有")
}}
例二:
某公司招聘,提出了如下要求:
年龄30岁以下,有工作经验两年以上,成绩大于500
如果三个条件都满足:聘用
如果三个条件中有为真的情况:现在急需用人,先用着不合适就辞退;
如果三个条件都不符合:不行,不能聘用
var age=prompt("请输入年龄");
var exper=prompt("请输入工作时间");
var univ=prompt("请输入成绩");
// alert(age +","+ exper +","+ univ);
if(age < 30 && exper > 2 && univ > 500 ){
alert("马上聘用")
}else if(age < 30 || exper >2 || univ > 500 ){
alert("会考虑一下")
}else{
alert("不予考虑,不行")
}