美文网首页
关于JS数据类型之间的转换

关于JS数据类型之间的转换

作者: 小q | 来源:发表于2019-07-29 22:58 被阅读0次

    前言

    这篇小记主要是总结自己学习时候遇到的类型转换。我将按照数据类型去总结。这其中包含了一些隐式转换,我会附上说明。我也会在其中写一些我认为有趣的东西。

    js的数据类型

    js的数据类型有Undefined,Null,Boolean,Number,String,Object,Symbol(ES6新增),这里总结基础数据类型的转换。

    • 转换为Boolean类型

    数据类型 转换为true 转换为false
    Boolean true false
    String 任何非空字符串 “”(空字符串)
    Number 任何非零数字值(包括无穷大) 0、NaN
    Object 任何对象 null
    Undefined (不适用) undefined·

    • 转换为数字类型

    1.Number()可以用于任何数据类型
    2.parseInt(),parseFloat()用于把字符串转换为数值。

    • parseInt(' ')会返回NaN,而Number(' ')则会返回0
    1. 使用+运算符
    • 转化为字符串类型

    1.toString()方法
    2.String("值")方法
    3.值+“ ”(会进行隐式转换)

    其他一些知识

    1.javascript是松散类型的,使用typeof检测数据类型。

    2. typeof(null) 会返回“Object”,原因是特殊值null被认为是一个空的对象引用。null值表示一个空指针对象。

    3. 在Chrome7,Safari5及之前的版本在对正则表达式调用typeof操作符会返回“function”,其他浏览器则会返回“obect”

    4. null == undefined 总会返回true。原因是“==”转换了其操作数。

    5. Number类型使用的是IEEE754格式来表示整数和浮点数值。

    6.正因为基于IEEE754格式,浮点数值的最高精度是17位小数。导致计算时出现误差。比如0.1+0.2并不等于0.3(等于0.30000000000000004),所以不能写if(0.1+0.2 == 0.3){...},这是使用基于IEEE754数值的浮点计算的通病。

    7. NaN与任何数都不相等,包括NaN本身。

    相关文章

      网友评论

          本文标题:关于JS数据类型之间的转换

          本文链接:https://www.haomeiwen.com/subject/lpgxlctx.html