zoukankan      html  css  js  c++  java
  • JavaScript中基本数据类型之间的转换

    在JavaScript中共有六种数据类型,其中有五种是基本数据类型,还有一种则是引用数据类型。五种基本数据类型分别是:Number 数值类型、String 字符串类型、Boolean 布尔类型, null 空类型、以及undefined 未定义类型,下面就开始详细介绍它们之间的转换以及转换过程中的注意点。

    1、基本数据类型转换为数值类型

      1.1、在JavaScript中将其它基本四种基本数据类型装换为数值类型,有三种常用的方法:

         1.1.1、通过Number(常量/变量)

        1.1.2、通过parseInt(需要转换的字符串)/parseFloat(需要转换的字符串)

        1.1.2.1、parseInt/parseFloat都会从左至右的提取数值, 一旦遇到非数值就会立即停止,

                     停止的时候如何还没有提取到数值, 那么就返回NaN

        1.1.3、通过 ’+’ / ’-’ 来转换

        1.1.3.1、虽然通过+/-都可以将其它类型转换为数值类型, 但是-会改变数值的正负性;

        1.1.3.2、+/-底层本质上就是调用了Number函数

     

      1.2、将其它基本四种基本数据类型装换为数值类型的注意点:

        1.2.1、将字符串类型转换为数值类型

        1.2.1.1、如果字符串都是数值,那么就正常转换

        1.2.1.2、如果字符串是一个空串,例如 ”” (什么都没有存)或者是 ”  ” ( 仅仅存储了空格),那么转换之后就是0

        1.2.1.3、如果字符串中既包含数字还包含字母,例如 ”abc123”,那么转换之后就是NaN

        1.2.2、将布尔类型转换为数值类型

        1.2.2.1、true转换为1

        1.2.2.2、false转换为0

        1.2.3、将空类型转换为数值类型

        1.2.3.1、null转换为0

        1.2.4、将未定义类型转换为数值类型

        1.2.4.1、undefined转换为NaN

    2、基本数据类型转换为字符串类型

      2.1、在JavaScript中将其它基本四种基本数据类型装换为字符串类型,有三种常用的方法

        2.1.1、对于数值类型和布尔类型来说,可以通过变量名称.toString()的方式来转换

        2.1.2、可以通过String(常量/变量);

        2.1.3、还可以通过 变量/常量 + ""/’’ 来转换为字符串

      2.2、将其它基本四种基本数据类型装换为字符串类型的注意点:

        2.2.1、通过变量名称.toString()的方式来转换是对拷贝的数据进行转换, 并不会影响到原有的数据

        2.2.2、不能使用常量直接调用toString方法, 因为常量是不能改变的

        2.2.3、String(常量or变量), 由于是根据传入的值重新生成一个新的值, 并不是修改原有的值

        2.2.4、将undefined未定义类型通过String()的方式转换为字符串类型,转换之后还是undefined

        2.2.5、将null空类型通过String()的方式转换为字符串类型,转换之后还是null

        2.2.6、通过 变量/常量 + ""/’’ 来转换为字符串,底层的本质其实就是调用String()函数

    3、基本数据类型转换为布尔类型

      3.1、在JavaScript中如果想将基本数据类型转换为布尔类型, 那么只需要调用Boolean(常量or变量)

      3.2、将其它基本四种基本数据类型装换为字符串类型的注意点:

        3.2.1、将字符串类型转换为布尔类型只要字符串中有内容都会转换为true, 只有字符串中没有内容才会转换为false

        3.2.2、将数值类型转换为布尔类型只有数值是0才会转换为false, 其它的都会转换为true如果是NaN也会转换为false

        3.2.3、将undefined类型转换为布尔类型undefined会转换为false

        2.2.4、将null类型转换为布尔类型会转换为false

        2.2.5、在JavaScript中NaN属于Number类型

        2.2.6、空字符串/0/NaN/undefined/null 会转换成false, 其它的都是true

    4、小结

      JavaScript与其它的编程语言的数据类型之间的转换类似,虽然它不像C语言那样将数据类型分的那么清楚,例如JavaScript中的数值类型就包含了C中的整型、单精度/双精度浮点型等等。但是,在JavaScript中,不同数据类型之间的转换和C语言中不同数据类型之间的转换还是类似的,转换类型都分为两种,一种是自动转换,另一种是强制转换,只不过JavaScript中新增了一些转换的方法。

    这也是我第一次写博客,写的不好的地方还请多多包涵,有错误的地方还请指正。

  • 相关阅读:
    hihocoder 1142 三分·三分求极值(三分)
    poj 3304 Segments(计算直线与线段之间的关系)
    poj 1269 Intersecting Lines(判断两直线关系,并求交点坐标)
    poj 2398 Toy Storage(计算几何 点线关系)
    poj 2318 TOYS(计算几何 点与线段的关系)
    计算几何基础(模板)
    Jmeter-基本组成
    java-面向对象
    性能测试基础
    java-多线程
  • 原文地址:https://www.cnblogs.com/TomHe789/p/12334469.html
Copyright © 2011-2022 走看看