js 操做符

1,一元操做符 :var num =25  num =  +num; num//25  一元操做符进行数据转换 像用的是Number转换   减号操做符则是 转换成负数;对象

2,按位非(~):var num = 25 ;var num1 = ~num; num//-26;本质是 数值的相反数减一;计算方式是 二进制 取反  最高为保持不变最高位是符号位   而后加1获得的结果字符串

     按位与(&)两个数值的二进制 进行按位与操做的到的结果string

     按位或(|)两个数值的二进制进行按位或的操做的获得的结果it

     按位异或(^)两个数值的二进制  的对应位上只有一个1才会返回1  若是对应为都是1或者是0则返回0二进制

      左移(<<)  最高一位表明符号位,以31位,向左移位 空白以0填充;最高一位表示符号位 左移不会影响符号位 右移相反方法

      右移  向右移动 空白以0填充 最高一位表明符号位im

      无符号移动(>>>或<<<)以32位移动数据

3,逻辑与(&&)第一个数为对象的时候返回第二个参数  第二个为对象的时候 只有第一个为true的状况才能够返回对象,第一个数为null,undefined ,nan的时候则返回自己,其他的状况所有返回true或者false。img

4,逻辑或(||)第一个数为对象则返回第一个,第一个数为false则返回第二个,若是两个都为对象则返回第一个,第一个为true的状况不会对第二个作计算,若是两个数都为null,undefined ,nan的时候则返回自己。移动

5,乘法操做:

6,除法操做:

    若是操做数都是数值则进行除法计算

     若是有一个是NaN则返回NaN;

     若是不是数值 则调用Number进行转换;在按照上面的规则处理

     0%0获得的是NAN

      数值除以0则获得infinite;

7,求模

8,加法

     若是有两个操做数是数值则进行正常的计算

      若是有一个是字符串 则另外一个进行字符串转换

     若是有一个是对象 调用tostring方法进行转换

      null和undefined 会调用string进行转换

9,减法操做符

10,关系操做符