本文最后更新于:2024年3月18日 凌晨
JavaScript 类型转换
- JavaScript 变量可以转换为新变量或其他数据类型:
- 通过使用 JavaScript 函数。
- 通过 JavaScript 自身自动转换。
将数字转换为字符串
- 全局方法
String()
可以将数字转换为字符串。
- 该方法可用于任何类型的数字,字母,变量,表达式:
1 2 3
| String(x) String(123) String(100 + 23)
|
- Number 方法
toString()
也是有同样的效果。
1 2 3
| x.toString() (123).toString() (100 + 23).toString()
|
将布尔值转换为字符串
- 全局方法
String()
可以将布尔值转换为字符串。
1 2
| String(false) String(true)
|
- Boolean 方法
toString()
也有相同的效果。
1 2
| false.toString() true.toString()
|
将日期转换为字符串
- 全局方法
String()
可以将日期对象转换为字符串。
Date 方法 toString()
也有相同的效果。
1 2
| obj = new Date() obj.toString()
|
将字符串转换为数字
- 全局方法
Number()
可以将字符串转换为数字。
- 字符串包含数字(如 “3.14”)转换为数字(如 3.14)
- 空字符串转换为 0
- 其他的字符串会转换为 NaN (不是个数字)
1 2 3 4
| Number("3.14") Number(" ") Number("") Number("99 88")
|
一元运算符 +
1 2
| var y = "5"; var x = + y;
|
- 如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字):
1 2
| var y = "John"; var x = + y;
|
将布尔值转换为数字
- 全局方法
Number()
可将布尔值转换为数字。
1 2
| Number(false) Number(true)
|
将日期转换为数字
1 2
| d = new Date(); Number(d)
|
1 2
| d = new Date(); d.getTime()
|
自动转换类型
- 当 JavaScript 尝试操作一个 “错误” 的数据类型时,会自动转换为 “正确” 的数据类型。
- 以下输出结果不是你所期望的:
1 2 3 4
| 5 + null "5" + null "5" + 1 "5" - 1
|
自动转换为字符串
- 当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的
toString()
方法:
1 2 3 4 5
| document.getElementById("demo").innerHTML = myVar;
myVar = {name:"Fjohn"} myVar = [1,2,3,4] myVar = new Date()
|
1 2 3
| myVar = 123 myVar = true myVar = false
|
下表展示了使用不同的数值转换为数字(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 |
“String” |
NaN |
“String” |
true |
[ ] |
0 |
“” |
true |
[20] |
20 |
“20” |
true |
[10,20] |
NaN |
“10,20” |
true |
[“String”] |
NaN |
“String” |
true |
[“String1”,“String2”] |
NaN |
“String1,String2” |
true |
function(){} |
NaN |
“function(){}” |
true |
{ } |
NaN |
“[object Object]” |
true |
null |
0 |
“null” |
false |
undefined |
NaN |
“undefined” |
false |