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中所有的魔 ...
随机推荐
- net core体系-Standard-1概述
前言 早上起来.NET社区沸腾了,期待已久的.NET Core 2.0终于发布!根据个人经验,微软的产品一般在2.0时会趋于成熟,所以一个新的.Net开发时代已经来临!未来属于.NET Core. . ...
- java编程(2)——servlet和Ajax异步请求的接口编程(有调用数据库的数据)
第一步: 1.为项目配置 Tomcat 为 server: 2.导入 mysql的jar包 到项目目录中: 第二步:编码 1.数据库连接类ConnectMysql.java代码: package co ...
- Spring-Docker简易指南
使用代码:https://files.cnblogs.com/files/miracle9527/demo4springboot.rar # 约定#为注释行.$为命令行 # 开始操作前将demo4s ...
- Unity3D 代码入口
最近有人提出一个unity一键导出html项目的设想,所以又回头看了一下unity 发现现在的untiy和我熟悉的有很大的不同了 在看unity的 entity 系统时,注意到,这个系统的入口比较特殊 ...
- MyBatis3系列__03几个常用的属性配置
本文主要讲几个xml配置属性: 其都写在mybatis配置文件中 1.properties属性:其作用主要是可以动态引进外部的配置文件中的相关配置 resource:引入类路径下的资源 url:引入网 ...
- vijos搭建踩坑
nodejs我用的8.x版本,可以工作. 和制作组交谈之后他们说最好榨汁机和主机不要在同一系统下. vj4/vj4/handler/base.py的第343行 从 super(Connection, ...
- python学习笔记(6)
第6章 组合数据类型 组合类型的三种表达形式:集合.序列.字典 集合类型及操作 定义:集合是多个元素的无序组合 集合类型与数学中的集合概念一致 集合元素之间无序,每个元素唯一,不存在相同元素 集合元素 ...
- 获取subgrid中的数据并修改,含添加刷新列表的事件
var isAddRefresh = false; function setLawsuitQueryResultText() { var queryResultIndex = 7; var gridC ...
- vue+element-ui之tree树形控件有关子节点和父节点之间的各种选中关系详解
做后端管理系统,永远是最蛋疼.最复杂也最欠揍的事情,也永远是前端开发人员最苦逼.最无奈也最尿性的时刻.蛋疼的是需求变幻无穷,如同二师兄的三十六般变化:复杂的是开发难度寸步难行,如同蜀道难,难于上青天: ...
- Go语言基础之结构体
Go语言基础之结构体 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念.Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性. 类型别名和自定义类型 自定义类型 在G ...