第二章 基本语法--操作符

我懒了,我在word 上的图片复制到这里,结果没有,我的图片又多,不想在一个个复制过来。我还是放在我的文件里面吧。

  1. 操作符

ECMScript操作符与众不同之处在于,它们能够适用于很多值,例如字符串、数字值、布尔值、甚至对象。不过,在应用于对象时,相应的操作符通常都会调用对象的valueOf()和(或)toString()方法,以便取得可以操作的值。

4、1 一元操作符

  1. 递增和递减操作符:++,--

遵循规则:

  1. 一元加和减操作符:+、-

对于非数值应用一元加、减操作符时,该操作符会想Number()转型函数一样对这个值执行转换。

4、2位操作符:

      负数:二进制补码;

       (1)、求这个负数的绝对值二进制码,

       (2)、反码再加1,反码  :0->1,1->0;

       (3)、

  1. 按位取非(NOT):

按位非的操作符由一个波浪线(~)表示,执行结果:返回数字的反码(二进制取反)

按位非操作的本质:操作数的负值减一

 

  1. 按位与(AND)

按位与操作符由一个和号字符(&)表示,

  1. 按位或(OR)

按位或操作符由一个竖线符号(|)表示

 

  1. 按位异或(XOR)

按位异或操作符由一个插入符号(^)表示。

逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。

算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充,所以一般用在右移运算中。 [1] 

对于无符号型值,算术移位等同于逻辑移位。 
而对于有符号型值 ,算术左移等同于逻辑左移,算术右移补的是符号位,正数补0,负数补1。

  1. 左移(<<)

左移操作符由两个 小于号(<<)表示。这个操作符会将数值的所有位向左移动指定的位数。注意:左移不会影响到操作数的符号位

  1. 有符号的右移(>>)

有符号的右移操作符由两个大于号(>>)表示。这个操作符会将数值向右移动,但保留符号位(即正负号标记)。

在ECMSciprt会用符号位的值来填充所有的空位,以便得到一个完整的值。

  1. 无符号右移(>>>)

无符号右移操作符由3个大于号(>>>)表示,这个操作符会将数值的所有32位都向右移动。对于正数来说,无符号右移与右符号右移相同。

 

但是对于负数。首先无符号右移以0来填充空位,而不是像有符号为右移那样以符号值来填充空位。所以,无符号的正数跟有符号结果相同。但是对于负数的结果不一样。其次,无符号右移操作符会把负数的二进制当成正数的二进制码。而且负数以其绝对值的二进制补码形式表示。

 

4、3 布尔操作符

布尔操作符一共有3个:非(NOT)、与(AND)、或(OR)

  1. 逻辑非

逻辑非操作符由一个叹号(!)表示。对操作数进行转换位一个布尔值,取反。

转为规则布尔类型规则:

逻辑非操作符取反规则:

  1. 逻辑与

逻辑与操作符由两个和号(&&)表示。

规则:

4、4乘性操作符

3个乘性操作符:乘法、除法、求模。如参与乘性计算的某个操作数不是数值,会通过Number()转型函数将其转换为数值。

1、乘法

乘法操作符有星号(*)表示。

规则:

2、除法

除法操作符由一个斜线符号(/)表示。

规则:

 

3、求模

求模(余数)操作符由一个百分号(%)表示。

规则:

 

4、5加性操作符

1、加法(+)

规则:

2、减法

规则:

 

4、6关系操作符

小于(<)、大于(>)、小于等于(<=)、大于等于(>=)

字符串跟数值比较,都先转为数值。任何值跟NaN比较,都是false

4.7相等操作符

两组操作符:相等和不相等---先转换再比较,

             全等和不全等---仅比较而不转换

1、相等(==)和不相等:(!=)

2、全等(===)和不全等(!==)

就是类型要一样,值也要一样,注意在相等中null==undefined,返回true、但是null===undefined,返回false。因为类型不同

4.8、条件操作符  

4.9、赋值操作符

4.10、逗号操作符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值