数据类型的转化小结

  • 四、数据类型转化

    • 1.数据类型显示转化

      • 数据类型强制转化

        • Number() 强制将一个其他类型的数据转化为数字类型,转不了就NaN

          • string——>number

            • 如果字符串整体来看是一个数字,那么就转化为这个数字

            • 通过这个字符串整体看起来不是一个数字,那么就转化为NaN

            • 如果字符串是一个特殊的空字符串''或空白字符串' ',那么转换为0

              • ''--->0

              • ' '--->0

          • boolean--->number

            • true--->1

            • false--->0

          • undefined--->number

            • undefined--->NaN

          • null--->number

            • null--->0

          • 小结:只要转化字符串除拼接外,都是看整体是不是一个数字,是就转化为数字后运算

        • String(): 强制将一个其它类型数据转化为字符串类型

          • 转化字符串没有什么特殊,只要个东西,都给你加上一个“”,输出字符串

        • Boolean(): 强制将一个其他的数据类型转化为一个boolean类型

          • 转化数字的时候,除了0是false,其余都是true

            • 0---->false

          • 转化字符串的时候,除了空字符串‘’是false,其余都是true

            • ‘’---->false

          • 转化undefined和null都是false

            • undefined---->false

            • null---->false

          • 转化false是false

            • false---->false

          • NaN--->false

      • 数据类型手动转化 (就是再字符串中提取数字)

        • parseInt()

          • 作用

            • 将其他数据类型转化为数值型

          • 转化规则

            • 1,忽略字符串前面的空格,直到找到第一个非空的字符串

            • 2.如果第一个字符串不是数字或是负号,返回NaN

            • 3.空字符串,返回NaN

            • 4.如果第一个字符串为数字,那么就继续解析第二个子串,以此类推,直到碰到非数字类型的子串停止

            • 5.如果字符串以0x开头且后面跟着数字字符,就会将其转化为十进制数,同样其它进制也是一样

          • 括号中的要不是字符串也会先转化为字符串后,在执行函数

        • parseFlaot()

          • 从头到尾解析,结果遵循以下规则

            • 1.第一个小数点是有效的,第二个小数点无效

            • 2.始终忽略前面的0,不分进制

            • 3.十六进制会转化为0

            • 4.科学计数法,转化为科学计数法的数

            • 5.空字符串转化为NaN

            • 6.普通的非空字符串、非数字--->NaN

          • 括号中的要是不是字符串也会先转化为字符串后,在执行函数

    • 2.数据类型隐式转化

      • 各种类型在运算中的适当的场合会发生也是转化

        • 记住显示转化

      • 隐式转化在对数组,对象数据类型来说,会先将他们转换为string类型,之后再转化为其他数据类型就行运算比较等

  • 五、基本数据类型的运算和比较

    • 同种数据类型之间的数值运算和比较

      • number与number

        • 运算(+,-,*,/,%)

          • 该怎么计算怎么计算

          • 特殊情况

            • 0/1--->0

            • 1/0--->infinity

            • 0/0--->NaN

        • 比较(>,<,>=,<=,==,!=,===,!==)

          • 该怎么比较就怎么比较

      • string与tring

        • 运算(+,-,*,/,%)

          • + 字符串的拼接

              • / % 先转化为数字,后做运算

        • 比较(>,<,>=,<=,==,!=,===,!==)

          • 比较的是字符串之间的unicode码值

      • boolean与boolean

        • 运算(+,-,*,/,%)

          • 先转化为数字,后运算

        • 比较(>,<,>=,<=,==,!=,===,!==)

          • 先转化为数字,后运算

      • undefined与undefined

        • 比较/运算

          • 先转化为数字,后运算

      • null与null

        • 比较/运算

          • 先转转化为数字,后运算

    • 不同数据类型之间的数值运算和比较

      • number和其它类型比较、运算

        • number和string

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

        • number和boolean

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

        • number和undefined

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

        • number和null

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

      • string和其他类型比较、运算

        • string和boolean

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

        • string和undefined

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

        • string和null

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

      • boolean和其他类型比较、运算

        • boolean和undefined

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

        • boolean和null

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

      • undefined和其他类型比较、运算

        • undefined和null

          • 运算(+,-,*,/,%)

            • + 拼接操作

            • *-/% 先转化为数字后运算

          • 比较(>,<,>=,<=,==,!=,===,!==)

            • 先转化为数字后运算

      • null和其他类型比较、运算(特殊情况)

        • false和null不相等

        • 字符串类型和null都不相等

        • 数字和null都不行等

        • 数组\对象和null都不相等

        • undefined和null相等

      • 小知识点

        • NaN不等于NaN

        • NaN转为boolean为false

    • 小结

      • 第一步

        • 先看是不是 + 如果是+ 那么看两边有没有字符串,有就是字符串的拼接

      • 第二步

        • 再看是不是比较 如果是比较,看两边是不是都是字符串,如果是 比较的是字符串的unicode码值

      • 第三步

        • 全部转化为数字后进行运算、比较

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值