• 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

    修正运算符优先级列表

  • 相关阅读:
    A1023 Have Fun with Numbers (20分)(大整数四则运算)
    A1096 Consecutive Factors (20分)(质数分解)
    A1078 Hashing (25分)(哈希表、平方探测法)
    A1015 Reversible Primes (20分)(素数判断,进制转换)
    A1081 Rational Sum (20分)
    A1088 Rational Arithmetic (20分)
    A1049 Counting Ones (30分)
    A1008 Elevator (20分)
    A1059 Prime Factors (25分)
    A1155 Heap Paths (30分)
  • 原文地址:https://www.cnblogs.com/cqhaibin/p/6702190.html
Copyright © 2020-2023  润新知