学习JavaScript的第二天!!!

126 阅读3分钟

JavaScript第二天:

1.算术运算符:

数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。

​ ***** 算术运算符会给值进行隐形转换

  • 求和 : +
  • 求差: -
  • 求积: *
  • 求商: /
  • 取模(取余数): % 例: 3%2 3除不尽2所以还有余数为1,结果就为1

​ 开发中经常作为某个数字是否被整除

    <script>
        let a = 2, b = 1
        console.log(a + b)
        console.log(a - b)
        console.log(a * b)
        console.log(a / b)
        console.log(a % b)
    </script>

优先级:

  1. 同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。
  2. 先乘除后加减,有括号先算括号里面的
    <script>
       console.log((2 + 1) / 3 * 1)
    //     先算括号里2+1=3
    // 乘除等级相同所以3除以3再乘1
    // 结果为1
    </script>

计算圆的面积:

​ 转换为JavaScript写法 : 变量 * r * r

    <script>
        let r = 1
        console.log(Math.PI * r * r)
    </script>

2.赋值运算符

赋值运算符:对变量进行赋值的运算符

  1. =
  2. +=
  3. -=
  4. *=
  5. /=
  6. %=
    <script>
    //    之前我们让变量加1如何做的
    let a = 1
    a = a + 1
    console.log(a)
    </script>
       <script>
        //    现在我们让变量加1如何做的
        let a = 1
        a  +=  1
        console.log(a)
       </script>

3.一元运算符

目标: 能够使用一元运算符做自增运算

自增

  • 符号: ++

  • 作用:让变量的值 +1

    • ++变量 : 写在变量前面 先自增再使用

          <script>
              let a = 1
              console.log(++a + 1);  //结果为3
              // 注意:a是2
              // a先自加1 变成2之后,在和后面的1相加
          </script>
      
    • 变量++: 写在变量后面 先使用再自增

          <script>
              let a = 1
              console.log(a++ + 1);  //结果为2
              // 注意:此时的a是1
              // 先和1相加,运算输出完毕之后,a再自加为2
          </script>
      

自减

  • 符号:--

  • 作用:让变量的值 -1

    (自减同理)

4.比较运算符

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

!!! 不同类型之间比较会发生隐式转换

尽量不要比较小数,因为小数有精度问题

  • 大于:> 左边是否大于右边

  • 小于:< 左边是否小于右边

  • 大于或等于:>= 左边是否大于或等于右边

  • 小于或等于:<= 左边是否小于或等于右边

  • 等于:

    1. = 赋值
    2. == 左右两边是否相等,将两边的数据进行转换为数值
    3. === 左右两边是否类型和值都相等
  • 不等于:

    1. 反值

    2. != 左右两边是否不全等 类型不比较

    3. !== 左右两边是否不全等 类型也比较

    !!! ** 比较结果为boolean类型,即只会得到truefalse**

    哪些值转布尔类型后 结果为 false 的有:
    1. undefined

    2. null

    3. 0

    4. ""或''

    5. false

    6. NaN

5.逻辑运算符

逻辑与:&&

  • 日常读法: 并且

  • 特点:

    1. 同时满足所有条件就成立 结果为true
    2. 有一个条件不满足就不成立 结果为false
  • 短路:

    1. 左边为false 就短路(后面内容不执行)

逻辑或://

  • 日常读法:或者

  • 特点:

    1. 只要有一个条件就成立 结果为true
    2. 两个条件都不满足就不成立 结果为false
  • 短路:

    1. 左边为true 就短路 (后面内容不执行)

逻辑非:!

  • 日常读法:取反
  • 特点:
    1. true变false 真变假
    2. false变true 假变真

6.分支:

if(bool值为条件)

获得bool值的方式:

  1. 直接赋值true/false
  2. 关系运算符表达式--比较运算符
  3. 逻辑运算符--多条件
  4. 判断具体的变量值:在js中false的值为
    • undefined/null
    • 0
    • `` "" ''

单分支:

if(条件) {满足条件要执行的代码}

<script>
        let age = +prompt('请输入工龄')
        if (age >= 1) {
            alert('年底奖金+2000')
        } 
    </script>

双分支:

if(条件) {满足条件要执行的代码}........else{不满足条件要执行的代码}

<script>
        let age = +prompt('请输入工龄')
        if (age >= 1) {
            alert('年底奖金+2000')
        } else {
            alert('没奖金')
        }
    </script>

多分支:

if(条件){满足条件要执行的代码}......else if(条件){满足另外条件要执行的代码}......else{条件都不满足要执行的代码}

 <script>
        let time = +prompt('请输入时间')
        if (time === 24 || time >= 0 && time < 6) {
            alert('凌晨好')
        } else if (time >= 6 && time < 12) {
            alert('早上好')
        } else if (time >= 12 && time < 18) {
            alert('下午好')
        } else if (time >= 18 && time < 24) {
            alert('晚上好')
        }else {
            alert('吊毛不要瞎填')
        }
    </script>

三元表达式:

其实是比 if 双分支 更简单的写法,有时候也叫做三元表达式

符号? 与 : 配合使用

​ 符号的理解:条件?满足条件执行的代码:不满足条件执行的代码

<script>
        let numb1 = +prompt('输入第一个数'), numb2 = +prompt('输入第二个数')
        // 如果numb1大于numb2输出的数字就是numb1;numb2则反
        document.write(numb1 > numb2 ? numb1 : numb2)
    </script>

补充说明:

  1. 如果做处理,代码只能写一句
  2. 可以写在模板字符串中
  3. 可以嵌套

7.while循环:

循环:重复执行某段代码, 而 while : 在…. 期间

  • while(条件){要重复执行的代码(循环体)} :

    如果条件满足,就执行循环体,如果不满足就结束循环

  • 循环三要素

    • 变量初始值
    • 终止条件(没有终止条件,循环会一直执行,造成死循环)
    • 变量变化量(用自增或者自减)
    <script>
            // 本来i的值是1
            let i = 1
            // 条件为i>10的时候终止循环,意思就是10次循环后停止循环
            while (i <= 10) {
                document.write(`我要月薪过万<br>`)
                i++  //每一次循环i都会自己后增1个数
            }
            // i在上面循环了10次,然后1+10=11的值
            document.write(i) //值为11
        </script>