JavaScript概念(三)

319 阅读3分钟

JavaScript

1.算术运算符:“+”、“-”、“*”、“/”、“%”

(1)目标:掌握算术运算符,能写出一些具备运算能力的小程序

(2)同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行。 ①乘、除、取余优先级相同 ②加、减优先级相同 ③乘、除、取余优先级大于加、减 ④使用 () 可以提升优先级 总结: 先乘除后加减,有括号先算括号里面的~~~

// // 求余=取模   获得整数
      // // 除法运算 获取除法元素后 剩下余数
      // console.log(10 % 5);  // 余数0
      // console.log(10 % 3);  // 余数1

// 如果一行内 出现了多个算术运算符
      // 先乘除后加减 如果有括号 就先算括号
      console.log(1 + 1 * 2);
      console.log((1 + 1) * 2);

      // 如果一行内 确实有很多个 算术运算符 都建议按照自己的想法来加括号
      console.log(1 + (2 * 3 + 3) / 4 + 4 * 4 + 5);
    

2.圆的面积:(Π:Math.PI)

    <script>
      // Π*R²   圆的面积

      // js中,代表圆的方式
      // Math.PI d

      // console.log(Math.PI);

      let R = prompt("请输入圆的半径");
      console.log("圆的面积:" + Math.PI * R * R);
    </script>

3.赋值运算符

<script>
      // let num=1;
写法一 // num=num+1;
      // console.log(num);

      // let num = 1;
写法二 // num+=1;
      // num+=3;
      // console.log(num);    //5

      let num = 10;
      num += 3;
      // num-=3;
      // num*=3;
      // num/=3;
      // num%=3;
      console.log(num);
    </script>

4.一元运算符-自加自减

(1)一元运算符

自增: 符号:++ 作用:让变量的值 +1 自减: 符号:-- 作用:让变量的值 -1

使用场景:经常用于计数来使用。 比如进行10次操作,用它来计算进行了多少次了

(2)自增运算符的用法:

①前置自增/减

let num = 1;
++num/--num

②后置自增/减

let num = 1;
num++/num--

注意:前置自增和后置自增 “单独” 使用没有区别,区别点在于前置自增:先自加再使用(记忆口诀:++在前 先加);后置自增:先使用再自加(记忆口诀:++在后 后加)

let i = 2;
console.log(i++ + 3) // 5
//注意 此时 i 是 1
//先和3相加,先运算输出完毕后,i再自加1是 3

5.比较运算符

(1)作用:比较两个数据大小、是否相等

(2)比较运算符,比较结果为boolean类型,即只会得到true或false

> :   左边是否大于右边
<:    左边是否小于右边
>=:   左边是否大于或等于右边
<=:   左边是否小于或等于右边
==:   左右两边是否相等,将两边的数据进行转换为数值
===:  左右两边是否类型和值都相等
!==:  左右两边是否不全等

(3)运算符总结

①= 和 == 和 === 怎么区别? = 是赋值 == 是判断 只要求值相等,不要求数据类型一样即可返回true === 是全等 要求值和数据类型都一样返回的才是true 开发中,请使用 ===

②比较运算符返回的结果是什么? 结果只有2个, true 或者 false

6.逻辑运算符

(1)逻辑运算符的介绍

通过 "与 &&"、"或 ||"、"非 !"对事件逻辑进行判定

如:

// 如果我想判断一个数据大于5且小于10
// 思路: num>5 且 num<10   判定逻辑为 与 &&

(2)逻辑运算符的使用

   <script>
      // 一假则假  && 左边为false 右边就不再去执行
      // console.log(2 > 10 && 1 < 3 && 3 > 1 && 9 > 5 && 5 <script 10 && 8 > 2);

      // 工作中常见的写法
      // 如果今天还下雨 那我就去吃海鲜
      //   不下雨 不去吃海鲜了
      // let rain = false;

      // 左边成立了 右边才会去执行
      // rain && console.log('下雨 去吃海鲜');

      // 逻辑或 一真则真
      // 只要 || 左边 成立了为true,右边就不再去执行
      // console.log(100 > 3 || 2 > 6 || 9 > 10 || 10 > 11 || 13 > 20);

      // 工作中 常用的技巧
      // 如果下雨,那么我就不玩了
      // let rain = false;
      // rain || console.log('去玩');

      // 两个短路运算  逻辑或 和 逻辑与
      //   工作中的语法  逻辑与来说   满足了 就去执行
      //   工作中的语法  逻辑或来说   不满足了 就去执行

      // 逻辑运算的最终结果

      // let result = 1 > 0 && 9 > 10; // false

      // 那段代码是最后执行即可
      // let result = 1 > 0 && 30;
      // let result = 1 > 0 && false && 30;
      // console.log(result);

      // 我们的 undefined  如果 转换成  布尔类型 其实是个false
      // 哪一些值转成 布尔类型后 false
      // undefined null 0 空字符串 false  NaN
      console.log(Boolean(undefined));
      console.log(Boolean(null));
      console.log(Boolean(0));
      console.log(Boolean(""));
      console.log(Boolean(false));
      console.log(Boolean(NaN));
      console.log(Boolean(""));
    </script>

(3)逻辑运算符里的短路

①利用逻辑运算符规则 去判断代码如何执行

②短路运算结果 通常是用来或者运算结果(最终被运算,整个表示式等于谁)

(4)练习

<script>
      /* 
      都需要有一种 先主要的再实现次要的思路

      1 获取到用户的一个输入
      2 判断是否满足某些条件 
        1 条件一  这个数可以被4 整除    %  整除和不整除的区别就在于  a % b =0 
        2 条件二  这个数不能被100 整除  %
           
          等于 0 就是被整除 不等于0  =  不被整除 
       */

      // console.log(100 % 3 === 0); // true   3 被100 整除 

      // 1 获取到用户的一个输入
      let num = +prompt("请输入一个整数");

      // console.log( (4 % num === 0) && (100 % num ===0)    );

      

      // 判断一个数是4的倍数,且不是100的倍数  
      console.log( (num % 4 === 0) && (num % 100 !==0)    );


      // 要知道 逻辑与还是逻辑或  逻辑与
      // 数一数有几个条件 2 
      // console.log( (条件一)  && (条件二) );

      /* 
      小结:
      1 逻辑与还是逻辑或
      2 当前是几个判断条件
      3 写出大体的结构 
        console.log( (条件一)  && (条件二) );
      4 按个往里面填充我们的代码即可 
      
       */
    </script>

小结:

1 逻辑与还是逻辑或

2 当前是几个判断条件

3 写出大体的结构

​ console.log( (条件一) && (条件二) );

4 按个往里面填充我们的代码即可

7.整除和不整除的关系

若整数b除以非零整数a,商为整数,且余数 为零,b为被除数,a为除数 , 读作“a整除b”或“b能被a整除

​ b / a

​ 被除数 / 除数

​ b能被a整除

​ a整除b

​ num / 4 num / 100

​ 4的倍数 或者 100的倍数

​ (num % 4 == 0) && ( num % 100 !== 0)

8.if分支

(1)单分支

    <script>
      let score = prompt("请输入高考成绩");
      if (score > 690) {
        alert("欢迎来到清华大学");
      }
    </script>

(2)双分支

    <script>
      let score = prompt("请输入高考成绩");
      if (score > 690) {
        alert("欢迎来清华大学");
      } else {
        alert("欢迎来社会大学");
      }
    </script>

(3)多分支

   <script>
      // let day = 1;

      let day = +prompt('请输入今天是星期几');

      if (day === 1) {
        console.log('煲仔饭');
      } else if (day === 2) {
        console.log('生猛海鲜');
      } else if (day === 3) {
        console.log('烤全羊');
      } else if (day === 4) {
        console.log('吃牢饭');
      } else if (day === 5) {
        console.log('软饭');
      } else {
        //  6 7 ........
        console.log('白饭');
      }
    </script>

9.三元表达式

(1)目标:能利用三元运算符执行满足条件的语句

(2)符号:? 与 : 配合使用

案例(一)

用户输入2个数,控制台输出最大的值

    <script>
      let num1 = +prompt("请输入第一个数字"),
        num2 = +prompt("请输入第二个数字"),
        num3;
      //   if (num1 > num2) {
      //     console.log(num1);
      //   } else {
      //     console.log(num2);
      //   }
      num3 = num1 > num2 ? (num3 = num1) : (num3 = num2);

      console.log(num3);
    </script>

案例(二)

用户输入1个数,如果数字小于10,则前面进行补0, 比如 09 03 等

<script>
      let num = prompt("请输入一个数字");
      //   if (num < 10) {
      //     document.write("0" + num);
      //   } else {
      //     document.write(num);
      //   }

      num < 10 ? (num = "0" + num) : (num = num);
      document.write(num);
    </script>