欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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语句