• 微信号
目录

javascript基础

您当前的位置:首页 > 我的笔记 > javascript基础>javascript运算符

上一篇: javascript数据类型转换

下一篇:没有了

javascript运算符

运算符

一组用于操作数据值的运算符,包括一元运算符、算术运算符、关系运算符、逻辑运算符、三元运算符等。javascript中的运算符适用于很多值,包括字符串、数值、布尔值、对象

赋值运算符

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

= 将等号右边的值赋予给左边, 要求左边必须是一个容器

运算符 作用
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 取余赋值

一元运算符

什么是一元运算符

只能操作一个值的运算符叫做一元运算符。

递增++和递减--

    <script>
        let box = 100;
        ++box; //把box累加一个1,相当于box = box+1
        --box; //把box累减一个1,相当于box = box-1
        box++; //同上
        box--; //同上
    </script>

前置和后置的区别

在没有赋值操作,前置和后置是一样的。但在赋值操作时,如果递增或递减运算符前置,那么前置的运算符会先累加或累减再赋值,如果是后置运算符则先赋值再累加或累减

示例

    <script>
        var num = 100;
        var num1 = ++box; //num1值为101
        var num2 = box++; //num2值为100
    </script>

++前置和++后置在单独使用时二者并没有差别,而且一般开发中我们都是独立使用

算术运算符

5个算术运算符,加减乘除求模(取余)

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

运算符 作用
+ 求和
- 求差
* 求积
/ 求商
% 取模(取余数),开发中经常用于作为某个数字是否被整除

示例

    <script>
        // 算术运算符
            console.log(1 + 2 * 3 / 2) //  4 
            let num = 10
            console.log(num + 10)  // 20
            console.log(num + num)  // 20

            // 1. 取模(取余数)  使用场景:  用来判断某个数是否能够被整除
            console.log(4 % 2) //  0  
            console.log(6 % 3) //  0
            console.log(5 % 3) //  2
            console.log(3 % 5) //  3

            // 2. 注意事项 : 如果我们计算失败,则返回的结果是 NaN (not a number)
            console.log('你好' - 2)
            console.log('你好' * 2)
            console.log('你好' + 2)   // 你好2
        </script>

关系运算符

用于进行比较的运算符称作为关系运算符:小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、相等(==)、不等(!=)、全等(恒等)(===)、不全等(不恒等)(!==)

运算符 作用
> 左边是否大于右边
<< /td> 左边是否小于右边
>= 左边是否大于或等于右边
<=< /td> 左边是否小于或等于右边
=== 左右两边是否类型和值都相等(重点)
== 左右两边值是否相等
!= 左右值不相等
!== 左右两边是否不全等

其他运算符一样,当关系运算符操作非数值时要遵循一下规则:

  1. 两个操作数都是数值,则数值比较;
  2. 两个操作数都是字符串,则比较两个字符串对应的字符编码值;
  3. 两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较;
  4. 两个操作数有一个是对象,则先调用valueOf()方法或toString()方法,再用结果比较

示例

    <script>
        console.log(3 > 5)
        console.log(3 >= 3)
        console.log(2 == 2)
        // 比较运算符有隐式转换 把'2' 转换为 2  双等号 只判断值
        console.log(2 == '2')  // true
        // console.log(undefined === null)
        // === 全等 判断 值 和 数据类型都一样才行
        // 以后判断是否相等 请用 ===  
        console.log(2 === '2')
        console.log(NaN === NaN) // NaN 不等于任何人,包括他自己
        console.log(2 !== '2')  // true  
        console.log(2 != '2') // false 
        console.log('a' < 'b') // true
        console.log('aa' < 'ab') // true
        console.log('aa' < 'aac') // true
    </script>

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

从左往右依次比较

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

NaN不等于任何值,包括它本身涉及到"NaN“ 都是false

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

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

最终把数据隐式转换转成number类型再比较

逻辑运算符

逻辑运算符通常用于布尔值的操作,一般和关系运算符配合使用,有三个逻辑运算符:逻辑与(AND)、逻辑或(OR)、逻辑非(NOT)

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

示例

    <script>
        // 逻辑与 一假则假
        console.log(true && true)
        console.log(false && true)
        console.log(3 < 5 && 3 > 2)
        console.log(3 < 5 && 3 < 2)
        console.log('-----------------')
        // 逻辑或 一真则真
        console.log(true || true)
        console.log(false || true)
        console.log(false || false)
        console.log('-----------------')
        // 逻辑非  取反
        console.log(!true)
        console.log(!false)

        console.log('-----------------')

        let num = 6
        console.log(num > 5 && num < 10)
        console.log('-----------------')
        </script>

三元运算符

三元条件运算符其实就是后面将要学到的if语句的简写形式。

    <script>
        let num = 5 > 4 ? '对' : '错'; //对,5>4返回true则把'对'赋值给box,反之。
        </script>
    

运算符优先级

优先级 运算符 顺序
1 小括号 ()
2 一元运算符 ++    --  !
3 算术运算符 先乘除后加减
4 关系运算符 >  >=  <  <=< /td>
5 相当运算符 ==  !=  ===  !=
6 逻辑运算符 先&&后||
7 赋值运算符 =
8 逗号运算符 ,

一元运算符里面的逻辑非优先级很高

逻辑与比逻辑或优先级高

上一篇: javascript数据类型转换

下一篇:没有了