2021-07-06

javaScript中的操作符是根据ECMAScript中的规范进行使用的,并且也是独特的,因为他们可以用于各种数值类型,甚至可以给对象使用,但是在对对象使用操作符的时候,往往会调用valualOf()和/或toString方法来取得可以计算的值。这就是javaScript是弱类型语言的一个原因。

1)一元操作符

	一元操作符顾名思义,就是对一个值的操作,在js中也叫递增++和递减--操作符,那么一元操作符也分为前缀和后缀,前缀就是先递增或递减再进行运算,后缀就是先用原来的值运算完结束后,再递增或递减,比如:
<script>
    var b = 1;
    var c = ++b; //先对b进行递增后在赋值给c
    console.log(c); //2
    console.log(b); //2
    var d = 2;
    var e = d++; //先用d原来的值2进行赋值后再进行递增
    console.log(e); //2
    console.log(d); //3
</script>

前缀因为变量在语句被求值之前被改变,所以在计算机科学中,这通常被称为具有副作用。
前缀递增和递减在语句中的优先级是一致的,因此会从左往右依次求值。比如:

<script>
    var a = 1;
    var c = 3;
    var d = --a + c;
    var e = a + c; //现在所用的c是上一步运算完之后的已经递减过的a
    console.log(d); //3
    console.log(e); //3
</script>

注意:这四个操作符可以用作任何值。意思是不限于整数——字符串、布尔值、浮点数、甚至对象都可以,但需遵循如下规则。
1. 对于字符串,如果是有效的数值形式,则转换为数值再应用改变。变量类型从字符串变成数值
2. 对于字符串,如果不是有效的数值形式,则将变量的值设置为NaN(Not a Number),变量类型从字符串变成数值
3. 对于布尔值,如果是false。则转换为0再应用改变。变量类型从布尔值变成数值,若是true则转换为1
4. 对于浮点数,加1或减1
5. 如果是对象,则调用其valueOf()方法取得可以操作的值,再进行上述规则,如果是NaN,则调用toString()并再次应用其他规则,变量类型从对象变成数值

一元加和减
一元加和减操作符对于大多数的开发者来说并不陌生,并且在js中只是其基本运算功能上多了一个功能,数据类型转换比如:

<script>
    let s1 = "01";
    let s2 = "1.1";
    let b = false;
    s1 = -s1; //值变成-1,从字符串类型转变为数值类型
    s2 = -s2; //值变成-1.1
    b = -b; //值变成0,从布尔值变成数值
</script>

2)位操作符

关于位操作符,我们得先了解ECMAScript标准中的数值都是以IEEE 754 64位格式存储,但位操作并不直接应用到64位表示,而是先把值转换为32位再进行位操作,之后再把结果转换为64位,所以,对于开发者而言,就只需要考虑32位整数即可

3)布尔操作符

4)乘性操作符

5)指数操作符

6)加性操作符

7)关系操作符

8)关系操作符

9)相等操作符

10)条件操作符

11)赋值操作符

12)逗号操作符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值