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
修正运算符优先级列表
ECMAScript5.1的运算符、类型转换总结的更多相关文章
- c/c++ 重载运算符 类型转换运算符
重载运算符 类型转换运算符 问题:能不能把一个类型A的对象a,转换成另一个类型B的对象b呢?? 是可以的.这就必须要用类型A的类型转换运算符(conversion operator) 下面的opera ...
- java数据类型运算符类型转换
Java基本数据类型 基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型,因此面试题中也总少不了它们的身影,在这篇文章中我们将从面试中常考的几个方面来回顾一下 ...
- [C++ Primer] : 第14章: 重载运算符与类型转换
基本概念 重载运算符是具有特殊名字的函数: 它们的名字由关键字operator和其后要定义的运算符号共同组成. 重载运算符函数的参数数量与该运算符作用的运算对象数量一样多. 对于二元运算符来说, 左侧 ...
- 【C++】C++中重载运算符和类型转换
输入输出运算符 输入输出运算符 输入输出运算符 算术和关系运算符 相等运算符 关系运算符 赋值运算符 复合赋值运算符 下标运算符 递增和递减运算符 成员访问运算符 函数调用运算符 lambda是函数对 ...
- C++ Primer 5th 第14章 重载运算与类型转换
当运算符作用域类类型的对象时,可以通过运算符重载来重新定义该运算符的含义.重载运算符的意义在于我们和用户能够更简洁的书写和更方便的使用代码. 基本概念 重载的运算符是具有特殊名字的函数:函数名由关键词 ...
- C语言复习————基本数据类型、运算符和表达式
数据类型/运算符/表达式 主要分两部分介绍,第一部分介绍常用的数据类型,例如:常量和变量/整型/实型/字符型:第二部分介绍算数运算符和算数表达式以及赋值运算符和逗号运算符. 一. 常用的数据类型 1. ...
- C语言运算符的优先级与结合性
结合性:左结合是从左到右依次执行,右结合是从右到左依次执行. 优先级 运算符 名称或作用 运算类型 结合方向 特点 1 () [] -> . 小括号运算符 下标运算符 指向结构成员运算符 结构成 ...
- 【c++ Prime 学习笔记】第14章 重载运算与类型转换
14.1 基本概念 重载的运算符是特殊的函数:名字由关键字operator后接要定义的算符共同组成,也有返回类型.参数列表.函数体. 重载运算符函数的参数量与该算符作用的运算对象数量一样多 除重载调用 ...
- Python魔术方法-Magic Method
介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",例如类的初始化方法 __init__ ,Python中所有的魔 ...
随机推荐
- 1103_ddt 数据处理
1.传入一个参数 import unittest from ddt import ddt,data,unpack @ddt class MyTestCase1(unittest.TestCase): ...
- CentOS7完成mysql的安装和远程访问
详见链接https://blog.csdn.net/weixin_42266606/article/details/80879571 (此处我的本地用户名root,密码root:远程用户名root,密 ...
- ZOJ 2588 Burning Bridges 割边(处理重边)
<题目链接> 题目大意: 给定一个无向图,让你尽可能的删边,但是删边之后,仍然需要保证图的连通性,输出那些不能被删除的边. 解题分析: 就是无向图求桥的题目,主要是提高一下处理重边的姿势. ...
- 【nuget】PackageReference
.net 爬虫 <PackageReference Include="HtmlAgilityPack" Version="1.9.0" /> < ...
- 展开被 SpringBoot 玩的日子 《 三 》 整合Redis
SpringBoot对常用的数据库支持外,对NoSQL 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结构 ...
- [Python]Python中的包(Package)
参考官方文档中的Module和Glosssary中的描述.Module: https://docs.python.org/3/tutorial/modules.html#packagesGlossar ...
- C# 神奇的Web services 请求超时问题 排查分析
服务器上有两个接口,一个是Web Services(asmx文件)接口,一个是MVC API (普通的GET请求接口) 神奇的事情是这样的,只要我使用WebRequest请求两次,再使用Web Ser ...
- python操作git
GitPython 是一个用于操作 Git 版本库的 python 包,它提供了一系列的对象模型(库 - Repo.树 - Tree.提交 - Commit等),用于操作版本库中的相应对象. 模块安装 ...
- input标签实现小数点后两位保留小数
短短一行代码就可以实现 <input type="number" min="0" max="100" step="0.01& ...
- 使用jq 仿 swper 图片左右滚动
<div> <div /</div> <div class="box"> <div class="box-ul" ...