1.隐式转换,系统利用一些符号进行默认的转换。

    主要就是运算符:

    1.数学运算符: + - * / %

    2.比较运算符:> < == <= >=

    1.如果两个字符串格式的数字比较,字符串的数字会转化成真正的数字;

    2.如果是两个字符串进行比较,会对字符串的字符编码大小进行比较,从第一项字符开始判断;

    3.如果字符串格式的数字和数字类型的数字比较,字符串的数字会转化成真正的数字;

    4.如果不是数字或者字符串格式的数字,那么就会按照unicode编码进行比较;

    5.比较运算符具有隐式转换的功能,比较的核心是数字类型,如果两端的数据类型不一样,等于运算符就会将两端的数据优先转换为数字进行比较

    1. ! (非) 会将任意的值转化为布尔值;

    2. ‘ ‘ 单引号会将任意类型转化为字符串;

    5.

    6.一元操作符 ++ —也可以对字符串类型的数字进行转换为数字类型;

    2.显示转换:利用系统提供的函数强制转换或手动转换

    1.下面三个部分,可以用 + , ‘ ‘ , ! 取代

    Number():将括号里的值转换为数字,类似于+号

    String():将括号里的值转换为字符串,类似于 ‘ ‘ / “ “ 号;

    Boolean():将括号里的值转换为布尔值,类似于 添加了两个 !! 号;

    2.介绍window下面两个方法,window作为对象可以省略;

    parselnt()、parseFloat()

    1.parselnt():将括号里的数字取整,同时如果括号里面是字符串格式,能从开始位置获取字符串格式的数字,直到遇到非字符串格式的数字结束;

    2.parseFloat():获取字符串格式的数字,包括小数部分。其他和parselnt差不多;

    3.toFixed():方法,截取小数取到多少位数;

    总结

    • 比较运算符始终返回布尔值。
    • 字符串的比较,会按照“词典”顺序逐字符地比较大小。
    • 当对不同类型的值进行比较时,它们会先被转化为数字(不包括严格相等检查)再进行比较。
    • 在非严格相等 == 下,null 和 undefined 相等且各自不等于任何其他的值。
    • 在使用 > 或 < 进行比较时,需要注意变量可能为 null/undefined 的情况。比较好的方法是单独检查变量是否等于 null/undefined。

    一些陷阱的数据转换

    转换为数字类型

    undefined 转化为数字类型时为 NaN

    null 转化为数字类型时为 0

    ‘’(空字符串) 转化为数字类型时为 0

    转换为布尔类型

    ‘ ‘(非空字符串,即使其中仅含有一个空格)转化为布尔值时为 1

    ‘’(空字符串)、null、undefined、0 和 NaN 都会被转化为 false,(因此它们被称为假值)