【JS】JS中的运算符

概念

术语:一元运算符二元运算符运算元

运算元:被运算符作用的单位叫做运算元。
比如:

let a = 1 + 2

上面运算公式中,被 + 加号 作用的 1、2 就是运算元

一元运算符:只有一个运算元的运算符。
比如:

let a = +1  // a=1

上面运算公式中,运算符加号只有一个运算元,所以 + 是一元运算符。同理二元运算符是
let a = 1 + 1

细节

(1)运算符有很多种,常见的比如: + 、- 、 *、 / 等
在所有运算符中,只有 + 加号会在作用于字符串的时候,进行字符串转换,其余的都会把运算元转换成数值进行计算。

let a = 1 + '1' // 11
let b = '12' - '10' // 2

简单来说:在 + 加号运算符运算过程中,如果任一运算元是字符串,那么其它运算元也将被转化为字符串。

(2)数字转换

  • 加号运算符在一元运算符中,如果运算元是数字,则不起任何作用
let a = +1 // 1
let b = +(-2) // -2

如果运算元不是数字,则会转换成数字

let a = +'2' // 2

(3)运算符优先级
在这里插入图片描述
一元运算符优先级是16 ,二元运算符是13-14, = 等号是3

let apples = "2";
let oranges = "3";

// 在二元运算符加号起作用之前,所有的值都被转化为了数字
alert( +apples + +oranges ); // 5

(4) = 等号也是运算符
赋值运算符 “=” 会返回一个值
每个运算符都有一个返回值。对于以加号 + 或者乘号 * 为例的大部分运算符而言,这一点很显然。对于赋值运算符而言,这一点同样适用。
语句 x = value 把 value 的值写入 x 然后返回 x。
下面是一个在复杂语句中使用赋值的例子:

let a = 1;
let b = 2;

let c = 3 - (a = b + 1);

alert( a ); // 3
alert( c ); // 0

上面这个例子,(a = b + 1) 的结果是赋给 a 的值(也就是 3)。然后该值被用于进一步的运算。
(5)自增/自减

let a = 2
++a
console.log(a) // 3
注意点:

在这里插入图片描述

  1. ++con 的时候,控制台输出3,是初始值2自增1之后的值 此时con的值为3了,当再次运行con++时候控制台输出还是3
    说明++放在变量后面的时候会先赋值再进行自增

  2. ++/-- 自增自减只能作用于变量上,不能直接作用于数值

  3. 自增/自减的运算优先级比绝大多数运算符要高

let a = 1
let b = ++a * 2 // 4

a先进行自增,值由1变成2,再进行 * 运算符运算

冷知识

逗号运算符
逗号运算符能让我们处理多个语句,使用 , 将它们分开。每个语句都运行了,但是只有最后的语句的结果会被返回。

let a = (1 + 2, 3 + 4);

alert( a ); // 7(3 + 4 的结果)

逗号运算符优先级很低,比 = 等号还低,所以

let a = 1 + 2, 3 + 4;

alert( a ); // 3(1 + 2 的结果)

因为逗号运算符优先级很低,所以运算顺序为
1 + 2
3 + 4
let a = 3 , 7
此时 = 先执行,a被赋值为3,后面的7就不会在执行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值