JavaScript基础2(运算符、if语句、三元运算符)

288 阅读1分钟

JavaScript基础2(运算符、语句)

一、运算符

1.算数运算符

 <script>
        let num1=10, num2=3;
        // 加法
        console.log(num1 + num2);
        // 减法
        console.log(num1 - num2);
        // 乘法
        console.log(num1 * num2);
        // 除法
        console.log(num1 / num2);
        // 求余(取模)
        console.log(num1 % num2);
    </script>

法则:从左往右,先加减后乘除,有括号先算括号内容。

练习:求圆的面积

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

π在js写法为Math.PI

2.赋值运算符

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

已经学过的赋值运算符:= 将等号右边的值赋予给左边, 要求左边必须是一个变量; 其他赋值运算符:+=;-=; *=; /=; %=

 <script>
        let num=10;
       /*  num+=5; //15
        num-=5; //5
        num*=2; //20
        num/=2; //5 */
        num%=3; //1
        console.log(num)
    </script>

3.一元运算符

一元运算符:例: 正负号

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

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

前置自增:先自加再使用(记忆口诀:++在前 先加)

 <script>
        let i=1;
        console.log(++i + 2); //结果为4
        //注意:这里i是2
        //i先自加1等于2之后,再跟2相加
    </script>

后置自增:先使用再自加(记忆口诀:++在后 后加)

 <script>	
        // 后置自增
        let i=1;
        console.log(i++ + 2); //结果为3
        // 注意:一开始i是1
        // i一开始是1,跟2相加后,在自加1等于2
    </script>

4.比较运算符

1.>: 左边是否大于右边

2.< : 左边是否小于右边

3.= : 左边是否大于或等于右边

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

5.==: 左右两边是否相等,将两边的数据进行转换为数值

6.===: 左右两边是否类型和值都相等

7.!==: 左右两边是否不全等

比较结果为boolean类型,即只会得到true或false

比较运算符的细节

1.字符串比较,是比较的字符对应的ASCII码

  • 从左往右依次比较

  • 如果第一位一样再比较第二位,以此类推

  • 比较的少,了解即可

1648355462887.png

2.NaN不等于任何值,包括它本身

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

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

  • 最终把数据隐式转换转成number类型再比较
  • 所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==

5.逻辑运算符

符号名称日常读法特点口诀
&&逻辑与并且符号两边都为true结果才为true一假则假
||逻辑或或者符号两边有一个true就为true一真则真
!逻辑非取反true变false
false变true真变假,假变真

逻辑运算符里的短路

短路:只存在于 &&|| 中,当满足一定条件会让右边代码不执行

符号短路条件
&&左边为false就短路
||左边为true就短路

原因:通过左边能得到整个式子的结果,因此没必要再判断右边

运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值

1648365823816.png

练习:

1648365913223.png

 <script>
        let num = +prompt('请输入数字');
        console.log(num % 4 === 0 && num % 100 !== 0);
    </script>

6.运算符优先级

1648369103666.png

练习:

1648369150915.png

二、语句

1.表达式和语句

表达式:表达式是一组代码的集合,JavaScript解释器会将其计算出一个结果

1648374976510.png

语句:js 整句或命令,js 语句是以分号结束(可以省略)

比如: if语句 for 循环语句

2.分支语句

A.程序三大流程控制语句

1648377494319.png

B.if分支语句

1.if单分支语句

 <script>
        let num= +prompt('请输入您的分数');
        if(num>700){
            alert('恭喜你被录取,请交两万')
        }
    </script>
  • 括号内的条件为true时,进入大括号里执行代码
  • 小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型

2.if双分支语句

  <script>
        let score= +prompt('请输入您的分数');
        if(score>700){
            alert('恭喜你被录取,请交两万')
        }else{
            alert('含泪读麻省理工')
        }
    </script>

3.if多分支语句

<script>
        let day= +prompt('今天星期几');
        if (day===1){
            alert('吃烧腊');
        }
        else if(day===2){
            alert('吃煲仔饭');
        }
        else if(day===3){
            alert('吃汤面');
        }
        else if(day===4){
            alert('吃烤全羊');
        }
        else if (day===5){
            alert('吃海鲜');
        }
        else {
            alert('吃软饭');
        }
    </script>

C.三元运算符

1648377917423.png

一般用来取值

练习1判断数大小:输入两个数,控制台输出最大的数

<script>
        let num1= +prompt('第一个数'), num2= +prompt('第二个数');
        num1 > num2? console.log(num1):console.log(num2);
    </script>
</body>

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

 <script>
        let num= +prompt('输入一个数');
        num = num < 10 ? '0' + num : num;
        console.log(num);
    </script>

练习3简易计算器:用户输入2个数字,然后输入 + - * / 任何一个,可以计算结果

 <script>
        let num1= +prompt('请输入第一个数');
        let num2= +prompt('请输入第二个数');
        let symbol= prompt('请输入符号:+-*/其中一个');
        if(symbol=== '+'){
            console.log(num1 + num2);
        }
        else if (symbol==='-'){
            console.log(num1 - num2);
        }
        else if (symbol==='*'){
            console.log(num1 * num2);
        }
        else if (symbol==='/'){
            if(num2===0){
                alert('被除数不能为0');
            }
            else {
                console.log(num1 / num2);
            }
        }
        else {
            alert('请规范输入')
        }     
    </script>