Luke's home Luke's home
首页
  • 前端文章

    • JavaScript
页面
技术
更多
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Luke xiao

K
首页
  • 前端文章

    • JavaScript
页面
技术
更多
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • javascript

    • 基础知识
    • 进阶知识

      • 类型转换
        • JavaScript 数据类型
        • 将数字转换为字符串
          • 全局方法 String()
          • Number 方法 toString()
        • 将布尔值转换为字符串
          • 全局方法 String()
          • Boolean 方法 toString()
        • 将日期转换为字符串
        • 将字符串转换为数字
        • 一元运算符 +
        • 将布尔值转换为数字
        • 将日期转换为数字
        • 自动转换类型
        • 自动转换为字符串
      • 正则表达式
      • 错误
      • 调试
      • 严格模式(use strict)
      • this关键字
      • JavaScript let 和 const
      • json
      • javascriptvoid(0)
      • 异步编程
      • promise
    • 函数

    • JS HTML DOM

    • JS 高级教程

    • 浏览器BOM

    • HTML5新特性

    • CSS3新特性

  • 布局

  • less

  • js库

  • 前端
  • javascript
  • 进阶知识
lukexiao
2021-04-29

类型转换

Number() 转换为数字, String() 转换为字符串, Boolean() 转换为布尔值。

# JavaScript 数据类型

在 JavaScript 中有 6 种不同的数据类型:

  • string
  • number
  • boolean
  • object
  • function
  • symbol

3 种对象类型:

  • Object
  • Date
  • Array

2 个不包含任何值的数据类型:

  • null
  • undefined

# 将数字转换为字符串

# 全局方法 String()

该方法可用于任何类型的数字,字母,变量,表达式:

String(x)         // 将变量 x 转换为字符串并返回
String(123)       // 将数字 123 转换为字符串并返回
String(100 + 23)  // 将数字表达式转换为字符串并返回
1
2
3

# Number 方法 toString()

x.toString()
(123).toString()
(100 + 23).toString()
1
2
3

# 将布尔值转换为字符串

# 全局方法 String()

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

# Boolean 方法 toString()

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

# 将日期转换为字符串

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

obj = new Date()
obj.toString()   // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
1
2
3
4
5

# 将字符串转换为数字

Number("3.14")    // 返回 3.14
Number(" ")       // 返回 0
Number("")        // 返回 0
Number("99 88")   // 返回 NaN
1
2
3
4

# 一元运算符 +

Operator + 可用于将变量转换为数字:

var y = "5";      // y 是一个字符串
var x = + y;      // x 是一个数字
1
2

如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字):

var y = "John";   // y 是一个字符串
var x = + y;      // x 是一个数字 (NaN)
1
2

# 将布尔值转换为数字

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

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

# 将日期转换为数字

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

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

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

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

# 自动转换类型

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

以下输出结果不是你所期望的:

5 + null  // 返回 5     null 转换为 0
"5" + null // 返回"5null"  null 转换为 "null"
"5" + 1   // 返回 "51"   1 转换为 "1" 
"5" - 1   // 返回 4     "5" 转换为 5
1
2
3
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"
1
2
3
4
5

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

myVar = 123       // toString 转换为 "123"
myVar = true       // toString 转换为 "true"
myVar = false      // toString 转换为 "false"
1
2
3
编辑 (opens new window)
上次更新: 2021/08/13, 23:21:49
基础知识
正则表达式

← 基础知识 正则表达式→

最近更新
01
流式布局
08-13
02
flex布局
08-13
03
rem布局
08-13
更多文章>
Theme by Vdoing | Copyright © 2021-2021 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式