JavaScript3
程序员文章站
2022-04-05 11:11:30
...
主要内容:
1.操作符
2.流程控制
1.操作符
算术运算符
+ - * / %
一元运算符
一元运算符:只有一个操作数的运算符
5 + 6 两个操作数的运算符 二元运算符
++ 自身加1
-- 自身减1
-
前置++
var num1 = 5; ++ num1; var num2 = 6; console.log(num1 + ++ num2);
-
后置++
var num1 = 5; num1 ++; var num2 = 6 console.log(num1 + num2 ++);
猜猜看
var a = 1; var b = ++a + ++a; console.log(b); //4 var a = 1; var b = a++ + ++a; console.log(b); //3 var a = 1; var b = a++ + a++; console.log(b); //2 var a = 1; var b = ++a + a++; console.log(b); //3
总结 前置++:先加1,后参与运算 后置++:先参与运算,后加1 上面两个理解后,下面两个自通 前置-- :先减1,后参与运算 后置-- :先参与运算,后减1
2.流程控制
程序的三种基本结构
顺序结构
从上到下执行的代码就是顺序结构
程序默认就是由上到下顺序执行的
分支结构
根据不同的情况,执行对应代码
循环结构
循环结构:重复做一件事情
分支结构
if语句
语法结构
if (/* 条件表达式 */) { // 执行语句 } if (/* 条件表达式 */){ // 成立执行语句 } else { // 否则执行语句 } if (/* 条件1 */){ // 成立执行语句 } else if (/* 条件2 */){ // 成立执行语句 } else if (/* 条件3 */){ // 成立执行语句 } else { // 最后默认执行语句 }
例子: 成绩的结果是在90到100(包含)之间则 显示A级 如果成绩是在80到90(包含)之间,则显示B级 如果成绩是在70到80(包含)之间,则显示C级 如果成绩是在60(包含)到70(包含)之间,则显示D级 如果成绩在0到60(不包含)之间,则显示E级
//实现代码
var score = Number(prompt("请您输入成绩"));//有bug(弹框不能输入字符)
if (!isNaN(score)) {//如果为true就说明 不是数字
if (score > 90 && score <= 100) {
console.log("A级");
} else if (score > 80) {
console.log("B级");
} else if (score > 70) {
console.log("C级");
} else if (score >= 60) {
console.log("D级");
} else {
console.log("E级");
}
} else {
console.log("您输入有误");
}
案例: 判断一个年份是闰年还是平年 闰年:能被4整除,但不能被100整除的年份 或者 能被400整除的年份
//练习:判断一个年份是不是闰年
//定义变量存储一个年份
var year = 2017;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
console.log("闰年");
} else {
console.log("平年");
}
三元运算符
表达式1 ? 表达式2 : 表达式3 是对if……else语句的一种简化写法
switch语句
语法格式:
switch (expression) { case 常量1: 语句; break; case 常量2: 语句; break; case 常量3: 语句; break; … case 常量n: 语句; break; default: 语句; break; }
break可以省略,如果省略,代码会继续执行下一个case switch 语句在比较值时使用的是全等操作符, 因此不会发生类型转换(例如,字符串'10' 不等于数值 10)
* 执行过程:
* 获取表达式的值,和值1比较,如果一样,则执行代码1,遇到break则跳出整个的语句,后面代码不执行
* 如果表达式的值和值1不一样,则和值2比较,如果相同则执行代码2,遇到break则跳出
* 否则和值3比较,相同则执行代码3,遇到break,跳出,否则和值4比较,相同则执行代码4,遇到break则跳出,否则直接执行代码5
案例:
//例子:获取一个人的成绩的级别,如果是A级则显示90到100直接的分数 /* * 如果是B级则显示80到90分 * 如果是C级则显示70到80之间分数 * 如果是D级则显示60到70分之间 * 否则显示0到59之间 * */
var jiBie = "E";
switch (jiBie) {
case "A":
console.log("90到100之间");
break;
case "B":
console.log("80到90之间");
break;
case "C":
console.log("70到80之间");
break;
case "D":
console.log("60到70之间");
break;
default :
console.log("0到59之间");
}
案例:根据月份显示对应的天数
//1,3,5,7,8,10,12 ---31天
//2----28天
//4,6,9,11----30
var month=parseInt(prompt("请输入月份"));
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:console.log("31天");break;
case 4:
case 6:
case 9:
case 11:console.log("30天");break;
case 2:console.log("28天");break;
}
如果有多个分支,是针对范围的判断一般选择if-else if的语句
如果有多个分支,是针对具体的值判断,一般选择用switch-case语句
上一篇: JavaScript定义函数的3种方式
下一篇: 【Javascript】匿名函数