• 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

    修正运算符优先级列表

  • 相关阅读:
    MSSQL存储过程也玩“递归”
    呼之欲出 WebMail 开发手记 (二) 数据库与软件设计分析
    PageRequestManagerServerError
    呼之欲出 WebMail 开发手记 (七) 邮件发送
    呼之欲出 WebMail 开发手记 (四) 邮件收发准备
    呼之欲出 WebMail 开发手记 (六) 邮件收取
    增强 GridView 控件的功能 (二)
    VS.NET 2003 制作安装部署程序时遇到的问题
    android手机定位
    网络错误的基本处理
  • 原文地址:https://www.cnblogs.com/cqhaibin/p/6702190.html
Copyright © 2020-2023  润新知