数据类型转换

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

string、number、boolean、object、function、symbol。

3 种对象类型:

Object、Date、Array

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

null、undefined

typeof 操作符

你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。

typeof "hhhh"                 // 返回 string
typeof 3.14                   // 返回 number

typeof null                   // 返回 object
typeof 3.14                   // 返回 number

typeof [1,2,3,4]              // 返回 object

注意:

  • NaN 的数据类型是 number
  • 数组(Array)的数据类型是 object
  • 日期(Date)的数据类型为 object
  • null 的数据类型是 object
  • 未定义变量的数据类型为 undefined

如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 object。

constructor 属性

constructor 属性返回所有 JavaScript 变量的构造函数。

"John".constructor                 // 返回函数 String()  
(3.14).constructor                 // 返回函数 Number()

JavaScript 类型转换

 将数字转换为字符串

全局方法 String() 可以将数字转换为字符串:

String(x)         // 将变量 x 转换为字符串并返回
String(123)       // 将数字 123 转换为字符串并返回

Number 方法 toString() 也是有同样的效果;

x.toString()
(123).toString()

将布尔值转换为字符串

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

String(false)        // 返回 "false"

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

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

将日期转换为字符串

Date() 返回字符串。

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

将字符串转换为数字

全局方法 Number() 可以将字符串转换为数字。

Number("3.14")    // 返回 3.14
Number(" ")       // 返回 0
Number("")        // 返回 0
Number("1 2")   // 返回 NaN

将布尔值转换为数字

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

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

将日期转换为数字

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

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

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

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

自动转换类型

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

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

2+ null    // 返回 2       null 转换为 0
"2" + null  // 返回"2null"   null 转换为 "null"
"2" + 1     // 返回 "21"      1 转换为 "1" 
"2" - 1     // 返回 1         "2" 转换为2

上一篇:js获取当前域名及获取页面完整地址并做判断


下一篇:微信小程序 TypeError: _typeof3 is not a function