ECMAScript5.1的运算符、类型转换总结
一、运算符优先级
从高到低
运算符 |
说明 |
---|---|
() |
圆括号 |
. [] new(带参数列表) |
字段访问、数组索引、new(带参数列表) |
() new(无参数列表) |
函数调用,无参数列表 |
++(后置递增) --(后置递减) |
自增、自减 |
++(前置递增) --(前置递减) - + ~ ! delete typeof void |
一无运算符、返回数据类型、对象创建、未定义的值 |
* / % |
相乘、相除、求余 |
+ - + |
相加、相减、字符串相加 |
<< >> >>> |
位移 |
< <= > >= instanceof |
小于、小于或等于、大于、大于或等于、是否为特定类的实例 |
== != === !== |
相等、不相等、全等、不全等 |
& |
按位“与” |
^ |
按位“异或” |
| |
按位“或” |
&& |
逻辑“与” |
|| |
逻辑“或" |
?: |
条件运算符 |
= OP= |
赋值、赋值去处(+=、-=) |
yield、yield* |
迭代标记运算符 |
... |
展开运算符 |
, |
多个计算,逗号运算符 |
二、类型检测与转换
以下都是规范中的内部方法,不可直接调用
方法 |
说明 |
---|---|
ToPrimitive |
两个参数:值、期望类型。转换为指定的类型 |
ToBoolean |
转换为boolean值,如果参数是undefined、Null、0、NaN、或者String长度为零,结果为false,object或其他为true |
ToNumber |
转换为数值类型 |
ToInteger |
转换为整型,应该是16类整型 |
ToInt32 |
32位有符号整型 |
ToUint32 |
32位无符号整型 |
ToUint16 |
16位无符号整型 |
ToString |
转换为字符串类型,如果Number类型,转换特殊处理。浮点数精度 |
ToObject |
转换为对象类型 |
CheckObjectCoercible |
检测参数是否可以通过ToObject转换 |
IsCaller |
检测参数是否为一个可调用对象,Object有call方法实现的才行,其他(NumberBooleanStringNullUndefined)等不行 |
SameValue |
两个对象是否相等的算法 |
提供的方法,可以直接调用
方法 |
说明 |
---|---|
parseInt |
转换为整型,两个参数:一个数为可转换为数值的内容,第二个参数表示进制:2, 8, 10, 16,默认10进制。但如果第一个参数的值以0x或0X开头则认为是16进行 |
parseFloat |
转换为一个浮点型数值 |
IsNaN |
判断值是否为NaN,是NaN则为false |
IsFinit |
判断值是为NaN、+Max、+Min,是NaN、+Max、+Min则为false |
P:
2017-05-02
修正运算符优先级列表
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- codeforces 1399D
- JSP开发之JSTL介绍和使用
- codeforces 1283E(贪心)
- codeforces1216C (矩形面积交)
- codeforces 1234C(思维)
- codeforces 1405B(思维)
- codeforces 1216D(数学)
- codeforces 1256D(优先队列+贪心)
- codeforces 1343D(差分数组)
- codeforces1385D (递归+分治)
- codeforces1294D(思维+暴力)
- codeforces 1367D(思维)
- 数据库事务处理与资源池
- codeforces 1328D(思维)
- codeforces 1283D(BFS)