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方法实现的才行,其他(Number\Boolean\String\Null\Undefined)等不行

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

修正运算符优先级列表

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

数据结构常见的八大排序算法

前言 八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。 常见的八大排序算法,他们之间关系如下: 他们的性能...

519110
来自专栏Java3y

Java实现单向链表

一、前言 最近在回顾数据结构与算法,有部分的算法题用到了栈的思想,说起栈又不得不说链表了。数组和链表都是线性存储结构的基础,栈和队列都是线性存储结构的应用~ 本...

86780
来自专栏编舟记

Monad

什么是函数(Function)? 函数表达的映射关系在类型上体现在特定类型(proper type)之间的映射。

8650
来自专栏向治洪

Kotlin语法基础之运算符

运算符 计算机程序中最小的程序单位成为表达式,每个表达式都可以由两部分组成,即操作数和运算符。操作数可以是变量、常量、类、数组、方法等,甚至是其他表达式。而运算...

31650
来自专栏xingoo, 一个梦想做发明家的程序员

Java程序员的日常—— Arrays工具类的使用

这个类在日常的开发中,还是非常常用的。今天就总结一下Arrays工具类的常用方法。最常用的就是asList,sort,toStream,equals,copy...

19770
来自专栏程序员互动联盟

【php基础】php的几种排序算法的比较

这里列出了几种PHP的排序算法的时间比较的结果,,希望对大家有所帮助 /* * php 四种排序算法的时间与内置的sort排序比较 * 3000个元素,四种...

291130
来自专栏小白的技术客栈

Python内置数据结构之迭代器知多少?

迭代器 迭代器 今天给大家说说迭代器是什么东东。 ? 什么是迭代器 先说一些概念性的东西: 可迭代对象:列表、元组、集合、字符串、bytes、bytearra...

39460
来自专栏mathor

JAVA——基本数据类型

13540
来自专栏机器学习算法工程师

归并排序

作者:柳行刚 编辑:徐 松 基本思想 归并排序是建立在二路归并和分治法的基础上的一个高效排序算法,将已有序的子序列合并,得到完全有序的序列;即先使...

375100
来自专栏noteless

[二]基础数据类型之Long详解

toUnsignedString 系列   toString  toXXXString  系列

34030

扫码关注云+社区

领取腾讯云代金券