js:运算符(算术、递增递减、比较、逻辑、赋值、运算符的优先级)

1、算术运算符

(1)基本算术运算

        <script>
            console.log(1 + 23);
            console.log(1 - 23);
            console.log(1 * 23);
            console.log(4 / 2);
            console.log(23 % 2);    
        </script>

 (2)浮点数的不精确问题

        <script>
            console.log(0.1 + 0.2);
        </script>

 在js中要尽量避免浮点数的使用

(3)不要比较两个浮点数是否相等

        <script>
            console.log((0.1+0.2)==0.3);
        </script>

2、递增和递减运算符

       <script>
            var num=122;
            console.log(num++);
            console.log(++num);
            
            var num1=121;
            console.log(--num1);
            console.log(num1--);
        </script>

 运算符的前置和后置是不一样的,前置的话是先执行加或键操作再输出,而后置的时候是先输出再执行加或减的操作。

3、比较运算符

(1)基本比较运算

        <script>
            console.log(12>23);
            console.log(12>=12);
            console.log(12!=23);
            console.log(12==12);            
        </script>

 (2)默认转换数据类型

       <script>
            console.log(12=='12');            
        </script>

 会将字符串转换为数字类型的数据,只要求值相等,数据类型不要求

console.log(12==='12');            

 全等于的时候为false,要求值和数据类型一致

(3)==与===

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>Java Script</title>
        <script type="text/javascript">
            function welcome() {
            var num1=23;
            var num2="23";
            alert(num1==num2)
        }
        </script>
    </head>
    <body onload="welcome()" bgcolor="aquamarine">
        <center>
            <h1>你好</h1>
        </center>
    </body>

</html>

该程序的运算结果返回true,虽然两个变量的数据类型不同,也就是说“==”值比较两个变量的数值,不对类型进行判断。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>Java Script</title>
        <script type="text/javascript">
            function welcome() {
            var num1=23;
            var num2="23";
            alert(num1===num2)
        }
        </script>
    </head>
    <body onload="welcome()" bgcolor="aquamarine">
        <center>
            <h1>你好</h1>
        </center>
    </body>

</html>

运行上面代码返回false,也就是说“===”不仅比较数值,还对数据类型进行比较。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>Java Script</title>
        <script type="text/javascript">
            function welcome() {
            var num1=23;
            var num2="23";
            alert(num1!==num2)
        }
        </script>
    </head>
    <body onload="welcome()" bgcolor="aquamarine">
        <center>
            <h1>你好</h1>
        </center>
    </body>
</html>

“!==”也是对数值和类型同时进行判断。

4、逻辑运算符

逻辑运算符是用来进行布尔值运算的运算符,返回值是布尔类型

        <script>
            console.log(true&&true);
            console.log(true&&false);
            
            console.log(true||false);
            
            console.log(!false);
        </script>

  •  &&相当于 与运算
  • ||    相当于 或运算
  • !  相当于取非

&&和||存在短路运算,例如:在进行&&运算的时候如果&&前面的表达式为false的话,就不再对表达式后面的表达式进行计算了,因为&&要求前后的表达式都为true才能输出true,既然第一个为false,那么计算结果就肯定为false,后面一个表达式已经不能改变运算的结果了

5、赋值运算符(右赋值给左)

(1)基本赋值运算

        <script>
           var num=10;
           console.log(num);
        </script>

 (2)其他操作

num=num+3

       <script>
           var num=10;
           console.log(num+=3);
        </script>

 num=num*3

console.log(num*=3);

6、运算符的优先级

小括号

一元运算符:++、--、!

算术运算符:+、-、*、/

关系运算符:大于、小于等

相等运算符:==、!=、===、!==

逻辑运算符:&&比||优先级高

赋值运算符

逗号运算符

原文地址:https://www.cnblogs.com/zhai1997/p/11425468.html