Javascript之运算符

运算符也叫操作符,通过运算符可以对一个或多个值进行运算

  • typeof :获得一个值的类型,会将该值的类型以字符串形式返回     number string boolean undefined object

算数运算符:

+ 、-、*、/、%:不会对原变量产生影响;对非number类型运算时,会转换成Number进行运算。

+:

  • boolean:1或0
  • null:0
  • NaN:任何数和NaN做运算都得NaN
  • 两个字符串相加:拼接
  • 任何值和字符串做加法都会转换成字符串,然后拼接

-:

  • 减0可以把其他值变成Number

*:

  • 任何值乘以undefined得NaN

一元运算符:只需要一个操作数

  • typeof
  • +:正号,不会对Number产生任何影响
  • -:负号 对数字进行符号取反
  • 对于非Number值,会先转换为Number

自增:++ ,无论是后++还是前++,都会立即使原变量的值立即自增1,不同的是自增表达式的值不同。

d=d++ 等价于  e=d++;d=e,值不变

自减 --:

逻辑运算符:

!:对一个值进行非运算。

  • 对布尔值进行取反运算,两次取反值不变
  • 对非布尔值进行运算会将其转换为布尔值然后运算
  • 为任意数据类型做两次运算即可将其转换为布尔值

&&:对符号两侧的值进行与运算并返回结果

  • 两个值都是true则返回true,有一个false就返回false
  • 如果第一个值为false,则不会看第二个值

||:或运算

  • 只要有一个true就返回true
  • 第一个为true则不会看第二个值

&& || 非布尔值的情况

  • 对于非布尔值,会将其转换为布尔值运算,然后返回原值
  • && 第一个值为true,则返回第二个值
  • && 如果第一个是false,则返回第一个值
  • || 第一个为true,则返回第一个值
  • || 第一个为false,返回第二个值

赋值运算符

=:将右侧值赋值给左侧

+=:等价于a=a+5,不要有空格

-=、*=、/=、%=

 

关系运算符

>:判断左侧值是否大于右侧

>=、<=

非布尔值的比较:对非数值的情况,先转换成数字再比较

  • 任何值和NaN做任何比较都是false(字母字符串转成数字是NaN)
  • 如果符号两侧都是字符串,不会转换,而会分别比较字符串中的Unicode编码,一位一位比较
  • 想要按数字类型比较两个字符串型的数字时,一定要先转型

 

相等运算符:比较两个值是否相等

==:表示相等运算

  • 类型不同,则会自动进行类型转换,然后再比较
  • null==0 false;true=="1" true;
  • null 和undefined做相等运算返回false,但这两个比较返回true
  • NaN不和任何值相等,包括他本身,若要判断一个值是否是NaN,使用 isNaN(b)

!=:不相等

  • 不相等也会对变量做类型转换,如果转换后相等也会返回false

=== 全等

  • 用来判断两个值是否全等,不会做自动类型转换,如果两个值类型不相等,直接返回false
  • null和undefined相等但不全等

!== 不全等 和全等类似,同样不做类型转换

 

条件运算符 也叫三元运算符

语法:条件表达式?语句1:语句2

运算符优先级

--逗号运算符 可以分割多个语句,一般用于声明多个变量

在js中,有一个优先级的表,在表中越靠上优先级越高,优先级相同时从左往右。如果遇到优先级不明确的,可以使用括号()来改变优先级

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值