JavaScript数据类型转换

声明

该文部分代码和内容节选自菜鸟教程,仅用作个人学习,特此声明

链接https://www.runoob.com/

数据类型转换

JavaScript 变量可以转换为新变量或其他数据类型:

  • 通过使用 JavaScript 函数
  • 通过 JavaScript 自身自动转换
  1. toString() 方法可以把数值转换为字符串。
<script>
var a=100;
var c=a.toString();
alert(typeof(c));      //typeof()方法验证转换后的数据类型为string
</script>

如果转换的内容为空会报错:

var num = 1;
console.log(num.toString());//1
var str =null;
console.log(str.toString());//Cannot read properties of null (reading 'toString')
console.log(str+"");// null

可以用 + "" 进行强制转换。

  • parseInt() 和 parseFloat() 方法可以把字符串转换为数值。

    <script>
    var str="123.30";
    var a=parseInt(str);    //parseInt()方法把字符串转换为整数123
    var b=parseFloat(str);	//parseFloat()方法把字符串转换为浮点数123.30
    </script>
    
  • 要把任何值转换为布尔型数据,在值的前面增加 !! 即可,!!0False,其余的均为 True

  1. 布尔值转换为字符串

    全局方法 String() 可以将布尔值转换为字符串。

    String(false) // 返回 "false"
    String(true) // 返回 "true"

    Boolean 方法 toString() 也有相同的效果。

    false.toString() // 返回 "false"
    true.toString() // 返回 "true"

  2. 日期转换为字符串

    Date() 返回字符串。

    Date()   // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
    

    全局方法 String() 可以将日期对象转换为字符串。

    String(new Date())   // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
    

    Date 方法 toString() 也有相同的效果

    下标可以查看更多关于日期转换为字符串的函数:

    方法 描述
    getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
    getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
    getFullYear() 从 Date 对象以四位数字返回年份。
    getHours() 返回 Date 对象的小时(0 ~ 23)。
    getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
    getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
    getMonth() 从 Date 对象返回月份 (0 ~ 11)
    getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
    getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
    1. 字符串转数字:一元运算符

      var y = "5";      // y 是一个字符串
      var x = + y;      // x 是一个数字
      
    2. 布尔值,日期转数字

      • 全局方法 Number() 可将布尔值转换为数字。

        Number(false) // 返回 0
        Number(true) // 返回 1

      • 全局方法 Number() 可将日期转换为数字。

        d = new Date();
        Number(d) // 返回 1404568027739

        日期方法 getTime() 也有相同的效果。

        d = new Date();
        d.getTime() // 返回 1404568027739

    3. 自动转换类型

      当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。

      5 + null  // 返回 5     null 转换为 0
      "5" + null // 返回"5null"  null 转换为 "null"
      "5" + 1   // 返回 "51"   1 转换为 "1" 
      "5" - 1   // 返回 4     "5" 转换为 5
      
    4. 自动转换为字符串

      尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法

      document.getElementById("demo").innerHTML = myVar;
      
      myVar = {name:"Fjohn"}  // toString 转换为 "[object Object]"
      myVar = [1,2,3,4]       // toString 转换为 "1,2,3,4"
      myVar = new Date()      // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
      

      数字和布尔值也经常相互转换

      myVar = 123             // toString 转换为 "123"
      myVar = true            // toString 转换为 "true"
      myVar = false           // toString 转换为 "false"
      
    5. 下表展示了使用不同的数值转换为数字(Number), 字符串(String), 布尔值(Boolean)

      原始值 转换为数字 转换为字符串 转换为布尔值
      false 0 "false" false
      true 1 "true" true
      0 0 "0" false
      1 1 "1" true
      "0" 0 "0" true
      "000" 0 "000" true
      "1" 1 "1" true
      NaN NaN "NaN" false
      Infinity Infinity "Infinity" true
      -Infinity -Infinity "-Infinity" true
      "" 0 "" false
      "20" 20 "20" true
      "Runoob" NaN "Runoob" true
      [ ] 0 "" true
      [20] 20 "20" true
      [10,20] NaN "10,20" true
      ["Runoob"] NaN "Runoob" true
      ["Runoob","Google"] NaN "Runoob,Google" true
      function(){} NaN "function(){}" true
      NaN "[object Object]" true
      null 0 "null" false
      undefined NaN "undefined" false
posted @   无关风月7707  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示