javaScript常用运算符和操作符总结

 

javaScript常用运算符和操作符总结

类别

操作符

算术操作符+、 –、 *、 /、 %(取模)
字符串操作符+ 字符串连接   +=字符串连接复合
布尔操作符!、 &&、  || 
一元操作符++ 、 -- 、  +(一元加)、    -(一元减)
关系比较操作符< 、 <= 、 >  、>=、   !=  、 == 、  === 、  !== 
按位操作符~ 按位非    &按位与     | 按位或     ^按位异或    <<左移    >>有符号右移      >>>无符号右移
赋值操作符= 、   复合赋值(+=、-=、*=、%=)   复合按位赋值(~=、&=、|=、^=、<<=、>>=、>>>=)
对象操作符.属性访问、[]属性或数组访问、 new调用构造函数常见对象、delete变量属性删除、void(返回undefined)、in判断属性、instanceof原型判断
其它操作符?: 条件操作符、,逗号操作符、()分组操作、typeof类型操作符

 

注意事项:

1. 算数操作符

1.1 除了加号(+)之外,如果操作数不是Number类型,会自动先调用Number()将其转换为Number类型再进行计算。

1.2 除号(/)和取模(%)并不会区分整数和浮点数,都会自动转化为浮点数,比如 9 / 2 = 4.5 而不是4,5.3 % 3 = 2.3 而不是2。

1.3 任意运算,只要操作数含NaN,结果就是NaN。但并不是结果为NaN就一定有一个操作数为NaN,比如0/0也返回NaN。

 

2. 字符串操作符

2.1 字符串连接符号(+)相当于concat()函数,会将操作数据转化为字符串,再连接。在字符串和数值型进行+号运算时,会将数值型转为字符串。

 

3. 布尔操作符

3.1   &&逻辑与常被应用判断一个变量或属性是否有定义,例如:

 
 
 
 


 

4. 一元操作符

4.1 前置自增(减)会先自增(减)再参与其它运算,后置先参与其它运算再自增(减)。

4.2 对于不是Number类型的值进行自增自减时会先将其隐式转换为Number类型,然后再自增(减)。

 

5. 关系比较操作符

5.1 比较双方都为字符串时,则会从前往后逐个比较字符编码值,只要有较大者就终止比较,不会往后进行。

5.2 比较双方有一个Number类型,则会将非Number类型数据转为Number类型值再比较。

5.3 操作符是对象时,调用valueOf()(如果没有,就调用toString()),再将结果进行比较。

5.4 任何数和NaN比较都会返回false.

 

6. 对象操作符

6.1 通过[]可以访问名称是一个变量或含有特殊字符的属性,名称为普通确定值时用.点号访问对象属性。

6.2 new 调用构造函数创建一个对象,在构造函数内部的this被指向这个新创建的对象

6.3 delete,删除变量或属性,(变量可以看成是全局对象或执行环境的一个属性)

 

7. 其它操作符

7.1 typeof是一个操作符,而不是函数,返回一个字符串值,(有些会根据浏览器极其版本不同而略有不同)

类型

typeof值

类型

typeof值

类型

typeof值

Undefined'undefined'Null'object'Boolean'boolean'
Number'number'String'string'内置Function对象的实例'function'

typeof一般用来判断简单数据类型,如果是对象类型,因为大部分返回的都是object,实际一般不会使用;

而instanceof的判断也需要满足同一个上下文的条件,否则也会出错,

 

8.常用方式:

8.1 使用一元加号+直接隐式转换为Number类型。  例如:console.info(+true);  //1,一元操作符,转换为数值1

8.2 使用加空字符串可直接隐式转为String类型。     例如:console.info(''+true);  //true,隐式转换为字符串'true'

8.3 使用双重逻辑非!!隐式转换为Boolean类型。      例如:var a='a’;   console.info(!!a);   //true  两次取反,将其隐式转换为boolean类型

8.4 使用逻辑与&&来检测对象或其属性是否存在并进行后续操作。   例如:object && object.name && object.name = 'name';

8.5 使用逻辑或||来给函数参数提供默认值,也常用?问号条件操作符提供默认值。  例如:  obj = obj || {};

8.6 使用花括号{}来定义对象字面量,JSON数据格式和代码块。   例如: var obj = {};

8.7 使用中括号[]来定义数组字面量,JSON数据格式,访问数组,访问名称是变量或特殊字符的属性。  例如: obj[this.index]

8.8 按位运算可应用一些场所:如不使用中间变量直接交换两个数值、判断奇数和偶数、MD5加密等等。

 

 

 

转载于:https://www.cnblogs.com/Peng2014/p/4707324.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值