JS入门基础知识总结3(选择语句)
前言
鉴于本人还处于学习阶段,以下内容为个人理解所做笔记,可能存在一定错误,如果能指出错误之处感激不尽,希望能与大家共同进步。
流程语句if和switch如果使用文字描述较为精简,必须多练习题目才能更好的理解与掌握,如果只是动脑不动手会导致后面写起代码来格式频繁错误,思路不清晰、结构过于复杂等问题。
一、单分支语句IF
格式:
if(条件){
执行代码
}
单分支语句:当条件为真true时,执行代码运行,当条件为假false时,不执行if内任何代码
二、双分支语句IF ELSE
格式:
if(条件){
执行代码1
}else{
执行代码2
}
双分支语句:当条件为真true时,执行代码1运行,当条件为假false时,else中的执行代码2运行。
与单分支语句相比,双分支语句添加了一个else作为条件为假时执行的操作,else内可以空着不写,这样双分支语句就变为了单分支语句
ps.
在if语句中需要注意以下几点:
1、嵌套不超过三层
2、if else一般用于表示两个分支或嵌套分支较少的结构
3、if之后的()不能省略
4、if中的分支一定要写{}
三、多分支语句IF(){}ELSE IF(){} ELSE{}、SWITCH
格式:
if的三分支流程语句:
if(条件1){
执行代码1
}else if(条件2){
执行代码2
}else {
执行代码3
}
N分支if流程语句:
if(条件1){
执行代码1
}else if(条件2){
执行代码2
}else if(条件3){
执行代码3
}……
else{
执行代码n
}
N分支switch流程语句:
switch(判断值){
case 值1:执行代码1;
break;
case 值2:执行代码2;
break;
case 值3:执行代码3;
break;
…
…
…
case 值n:执行代码n;
break;
default:执行代码;
break;
default;
}
switch穿透写法(用作累积计算)
switch(判断值){
case 值1:执行代码1;
case 值2:执行代码2;
case 值3:执行代码3;
break;
…
…
…
case 值n:执行代码n;
break;
default:执行代码;
break;
default;
}
如果(判断值)等于(值1)执行代码1、2、3都会运行,
如果(判断值)等于(值2)执行代码2、3都会运行,
如果(判断值)等于(值3)执行代码3运行,
所谓的多分支流程语句指的是选择分支在三个及三个以上流程语句。
if语句在之前介绍过了,这次就着重讲下switch语句
switch语句中
判断值:可以是变量、表达式、函数等,只要能得出一个具体的数据值便可作为判断值。
case 值:switch的分支,一个值代表一个分支
break:停止符,当运行完case后的代码后通过break停止switch运行并将运行结果返回上一级。switch中只有执行到break才能停止,利用这个穿透特性可以实现一些累加计算。
default:当所有case都不满足时执行的语句,尽量书写不要省略。
switch语句通过将判断值与各case里的值进行对比,如果有相同的则会运行该case后面的执行代码
switch语句与if语句相比分支更加简洁明了,如果选择分支在三个及以上的时候一般选择switch语句,
四、练习题
以下练习题均为本人培训过程中老师当天布置的练习题,对理解选择语句有很大的帮助,我会将个人的解题代码放置最后
1.判断一个整数,属于哪个范围:大于0;小于0;等于0
2.判断一个整数是偶数还是奇数,并输出判断结果
3. 开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者
4.if判断接受的数据类型
5.输入年份,计算某一年是否是闰年
闰年:能被4整除,但不能被100整除的年份 或者 能被400整除的年份
6.输入数字,显示星期几( 假设本月一号是周一 )
7. 输入分数,判定成绩等级(if和switch两种写法)
分数转换,把百分制转换成ABCDE, <60 E, 60-70 D, 70-80 C ,80-90 B ,90 - 100 A
千万不要写100个case哟
8. 输入月份,显示当月的天数, 利用case穿透简化代码
9. 根据一个六位数 数字日期,判断这个日期是这一年的第几天。 (使用switch 穿透编写)
例如: 20160211,计算后结果为42
以下为个人答案(本人是用了JS函数封装解题代码,需要调用函数才能看的结果,如果是还未学到函数的同学可以直接将内部代码拿出来使用,用特定值去测试解题代码是否确定)
// 1 判断范围
function range(num){
if(typeof(num) == "number"){
if(num<0){
console.log("小于0");
}
else if(num >0){
console.log("大于0")
}
else{
console.log("等于0")
}
}
else(console.log("input Error"))
return "完成";
}
// 2 判断奇偶
function parity(num){
if(num%2 == 0){
console.log("该数为偶数")
}
else{
console.log("该数为奇数")
}
return "完成";
}
// 3 根据身高计算体重
function weight(high){
var wigh
wigh = (high-108) * 2
console.log("该用户体重为:" + wigh)
return "完成";
}
// 4 判断数据类型(关于数据类型本人上一篇博客有简单介绍可以用于入门参考)
// if判断
function type_i(dat){
var i = dat
var result = typeof(i)
if( result == "number")
{
console.log("数据为数值型")
}
else if( result &