嵌套
单分支
书写格式:
if(判断条件){
代码块;
}
功能:当条件为真执行打括号里的代码块,反之不执行。
if (true) {
console.log(1); //1
let i = 3;
console.log(i + 2); //5
}
双分支
/**
* if(条件){代码块}
* else{代码块}
* 条件为真执行if的代码块,条件为假执行else的代码块
*/
let F70 = rs.question() - 0;
if (F70 >= 100) { //false
console.log(--F70);
} else {
console.log(++F70);
}
多分支
/**
* 书写格式:
* if(条件1){代码块1}
* else if(条件2){代码块2}
* else if(条件3){代码块3}
* else if(条件..){代码块...}
* else {代码块n}
* 条件1为真,执行if的代码块,
* 条件1为假,判断条件2
* 条件2为真, 执行条件2,if的代码块
* 条件2为假, 判断条件3
* 以此类推,只执行一个代码块
* 如果所有条件都不满足,则执行最后一个else的代码块
*/
console.log(`请输入您的分数:`);
let inputScore = rs.question() - 0;
if (inputScore >= 85) {
console.log(`优秀`);
} else if (inputScore >= 75) {
console.log(`良好`);
} else if (inputScore >= 60) {
console.log(`及格`);
} else {
console.log(`不及格`);
}
作用域: 变量可使用的范围
1、全局作用域;
① 没有大括号包含;
② 声明的变量为全局变量,在当前JS文件任何地方均可使用。
2、局部作用域
① 有大括号包含;
② 声明的变量为局部变量,在当前的作用域和嵌套的作用域均可使用。注:
① 局部有就用局部的变量,局部没有就向上找变量。直到找到为止。
(若最终都找不到就输出 XXXX is not defined )
② 不同作用域中的变量名可以重复(let,const声明)。
let f70 = 1;
// console.log(f70); //1
{
// let f72 = 2;
// console.log(f72); //2
console.log("F70", f70); //报错
let f70;
f70 = 3;
console.log("F70", f70); //3
// {
// console.log("F72", f72); //2
// }
}
console.log(f70); //1
// console.log(f72); //f72 is not defined
switch语句
书写格式:
switch (匹配值) {
case 匹配值1: { 代码块; }
ase 匹配值2: {代码块; }
case 匹配值3: { 代码块; }
case 匹配值4: { 代码块; }
default: { 代码块; }
}
1、匹配方式是全等
2、break终止case的继续执行代码。
使用场景:功能选项;
// console.log(`请选择以下功能:
// 1、孙中伟、贾杰 2、XXX XXX`);
// let inputNum = rs.question();
// switch (inputNum) {
// case 1:
// console.log("选择1");
// break;
// case "1":
// console.log("选择'1'");
// break;
// case 2:
// console.log(2);
// break;
// case 3:
// console.log(3);
// default:
// console.log(`您输入的${inputNum}有误!请重新输入!`);
// }