文章目录
JavaScript(三)
语句
1.1 if 语句
语法:
单行语句:
if(条件表达式)
语句;
代码块语句: (推荐)
if(条件表达式){
语句;
}
执行流程:
if语句在执行时,先对条件表达式进行求值判断
如果是true 则执行if后的语句
如果是false,则不执行
var a = 30;
if(a < 35){
console.log("hello");
}
//输出: hello
1.2 if else 语句
语法:
if(条件表达式){
语句...
}else(条件表达式){
语句...
}
执行流程:
if-else执行时,先对if后的条件表达式进行求值判断
如果为true,则执行if后的语句
如果是false,则执行else后的语句
var age = 60;
if(age >= 60){
console.log("你已退休~~~");ji
}else{
console.log("你还要好好干");
}
多个条件语句:
if(条件表达式){
语句
}else if(条件表达式){
语句
}else if(条件表达式){
语句
}else{
语句
}
执行流程:
它会自上而下依次对 if 后的条件表达式进行判断
如果是true,执行当前if后的语句,执行完语句就结束了
如果是false,则继续向下判断,直到找到true为止。
如果所有的判断结果都是false,则执行else后的语句。
var age = 33;
if(age >= 300){
alert("我老了");
}else if(age >= 80){
alert("和楼上比,我还很年轻");
}else if(age >= 60){
alert("退休了");
}else if(age >= 18){
alert("你已经成年了");
}else{
alert("你还是是孩子");
}
1.3 switch 语句
语法:
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
执行流程:
switch - case 语句在执行时,会自上而下依次将switch的表达式和case表达式进行全等比较
如果全等,则当前case开始向下执行代码,当不希望其他之后的case执行可以在case后使用break
如果不全等,则进行向下比较直到找到全等为止
如果所有比较不成立,则default执行,
var num = 1;
switch(num){
case 1:
alert("我是1");
case 2:
alert("我是2");
case 3:
alert("我是3");
case 4:
alert("我是4");
}
注意:当条件满足 case 1 时, case 1 之后的所有 case 都会执行。
var num = 1;
switch(num){
case 1:
alert("我是1");
break; // 增加了break之后 当条件满足 case 1 时, case 1 之后的所有 case 都不会执行
case 2:
// 当输入2或3输出同一个内容时,可以这样写
case 3:
alert("我是2或3");
break;
case 4:
alert("我是4");
break;
default: // 条件都不匹配时执行
alert("输入错误内容");
break;
}
1.4 while 语句
语法:
while(条件表达式){
语句
}
执行流程:
while语句在执行时,首先会对条件表达式进行判断
如果是false,则语句直接结束
如果是true,则执行while之后的语句后,进行对条件表达式进行判断如果是true,则执行whle之后的语句,以此类推;直到条件表达式为false。
//死循环 ---> 因为条件为true 会一直执行
//不要尝试使用
while(true){
alert("hello");
}
写循环时有三个要点
1.初始化表达式,创建一个变量来控制循环的执行
var a = 0;
2. 条件表达式,设置循环的执行条件
while( i < 20 ){
alert(i);
3.更新表达式,修改初始值
i++;
}
1.5 do-while 循环
语句:
do{
语句...
}while(表达式)
执行流程:
do-while循环在执行时,先执行循环体,执行完毕对条件表达式进行求值判断,
如果是false,则语句结束
如果是true,则进行执行循环体
以此类推....
let i = 0;
do{
console.log(i);
i++;
}while(i < 5)
//于while区别是 while是先判断后执行,do-while是先执行后判断
let i = 5;
while(i < 5){
console.log(i);
i++;
}
//这个时候 while 这个循环体就不会执行。 满足不了循环的条件
let i = 0;
do{
console.log(i);
i++;
}while(i < 5)
//这个时候do - while 这个循环体会执行一次。 满足不了循环的条件停止循环
do-while可以确保循环至少一次,其他的时候和while没有区别
1.6 for 循环
语句:
for(1.初始化表达式 , 2.条件表达式 , 4.更新表达式){
3.语句...
}
执行流程:
1.先执行初始化表达式,初始化一个变量
2.执行条件表达式,判断是否执行循环
如果是false则循环结束
3.如果是true,则执行循环体
4.执行更新表达式对变量进行更新
5.重流程 2. 重新开始
for( var i = 0, i < 5, i++){
cnsole.log(i);
}
1.7 break和continue
1.7.1 break
用来结束switch和循环语句
for(var i = 0; i < 5,i++){
if(i === 2){
break; //当条件满足则停止for循环,不是对if的,是对for循环的,在循环外if中使用break则会报错
}
console.log(i); // 0 1
}
结果表示break默认只会影响到离它最近的循环,在内层循环里使用break不会影响到外层循环
1.7.2 continue
用来跳过当次循环
for(var i = 0; i < 5; i++){
if(i === 2){
continue; // 当满足条件跳过这次循环
}
console.log(i); //所以图中输出没有2
}
在两个循环中,continue和break一样,只影响了离它最近的循环
1.8 练习
1.8.1 if else
1.编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。
//prompt()函数用来获取用户输入的内容
// 用户输入的内容会作为函数的返回值返回,需要一个变量来接收
//该函数返回的类型总是一个字符串
var a = +prompt("请输入一个整数"); // 这里可以使用一元加把类型转换一下
if( a % 2 === 0 ){
alert("它是偶数");
}else if( a % 2 === 1){
alert("它是奇数");
}else{
alert("它不是一个整数");
}
prompt()函数效果:
练习2:
编写一个程序,检查任意一个年份是否是闰年。
如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年
var a = +prompt("输入一个年份");
if(a % 4 === 0 && a % 100 !== 0 || a % 400 === 0){
alert(`${a}是闰年`);
}else{
alert(`${a}不是闰年`);
}
练习3:
我家的狗5岁了,5岁的狗相当于多大年龄的人呢?
其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。
那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁
编写一个程序,获取用户输入的狗的年龄,然后通过程序显示其相当于人类的年龄。
如果用户输入负数,请显示一个提示信息
//获取狗的年龄
var a = +prompt("输入狗的年龄");
//创建一个变量存储狗相当于人类的年龄
var b;
//检查用户输入是否合法
if(a <= 0 || inNaN(a) ){
alert("请输入一个正整数");
}else if( a <= 2 ){ //如果狗小于等于两岁
//使年龄乘于10.5
b = a * 10.5;
}else( a >= 3 ){
//超过两岁
b = 10.5*2+(a-2)*4;
}
alert(`狗狗相当于人类${b}岁`);
练习4:
从键盘输入小明的期末成绩:
当成绩为100时,‘奖励一辆BMW’
当成绩为[80-99]时,‘奖励一台iphone’
当成绩为[60-79]时,‘奖励一本参考书’
其他时,什么奖励也没有
var a = +prompt("输入小明的成绩");
if(a === 100){
alert("奖励一辆BMW");
}else if( a > 80 && a <= 99 ){
alert("奖励一台iphone");
}else if( a > 60 && a <= 80 ){
alert("奖励一本参考书");
}else{
alert("什么奖励也没有");
}
1.8.1 while
假设存款年利率为5%,问1000存多少年可以变成5000?
// 创建一个变量表示钱
var money = 1000;
//创建一个计数器
var count = 0;
while(money < 5000){
money *= 1.05;
count++;
}