JavaScript中的数据类型转换方法小结
JavaScript变量可以转换为新变量或其他数据类型:
- 通过使用JavaScript函数
- 通过JavaScript自身自动转换
将数字转换为字符串
全局方法String()可以将数字转换为字符串。
该方法可用于任何类型的数字,字母,变量,表达式:
实例
String(x)//将变量x转换为字符串并返回 String(123)//将数字123转换为字符串并返回 String(100+23)//将数字表达式转换为字符串并返回
Number方法toString()也是有同样的效果。
实例
x.toString() (123).toString() (100+23).toString()
将布尔值转换为字符串
全局方法String()可以将布尔值转换为字符串。 String(false)//返回"false" String(true)//返回"true" Boolean方法toString()也有相同的效果。 false.toString()//返回"false" true.toString()//返回"true"
将日期转换为字符串
全局方法String()可以将日期转换为字符串。
String(Date())//返回ThuJul17201415:38:19GMT+0200(W.EuropeDaylightTime)
Date方法toString()也有相同的效果。
实例
Date().toString()//返回ThuJul17201415:38:19GMT+0200(W.EuropeDaylightTime)
将字符串转换为数字
全局方法Number()可以将字符串转换为数字。
字符串包含数字(如"3.14")转换为数字(如3.14).
空字符串转换为0。
其他的字符串会转换为NaN(不是个数字)。
Number("3.14")//返回3.14 Number("")//返回0 Number("")//返回0 Number("9988")//返回NaN
一元运算符+
Operator+可用于将变量转换为数字:
实例
vary="5";//y是一个字符串 varx=+y;//x是一个数字
如果变量不能转换,它仍然会是一个数字,但值为NaN(不是一个数字):
实例
vary="John";//y是一个字符串 varx=+y;//x是一个数字(NaN)
将布尔值转换为数字
全局方法Number()可将布尔值转换为数字。
Number(false)//返回0 Number(true)//返回1
将日期转换为数字
全局方法Date()可将日期转换为数字。
d=newDate(); Number(d)//返回1404568027739
日期方法getTime()也有相同的效果。
d=newDate(); d.getTime()//返回1404568027739
自动转换类型TypeConversion
当JavaScript尝试操作一个"错误"的数据类型时,会自动转换为"正确"的数据类型。
以下输出结果不是你所期望的:
5+null//返回5becausenullisconvertedto0 "5"+null//返回"5null"becausenullisconvertedto"null" "5"+1//返回"51"because1isconvertedto"1" "5"-1//返回4because"5"isconvertedto5
自动转换为字符串
当你尝试输出一个对象或一个变量时JavaScript会自动调用变量的toString()方法:
document.getElementById("demo").innerHTML=myVar; //ifmyVar={name:"Fjohn"}//toString转换为"[objectObject]" //ifmyVar=[1,2,3,4]//toString转换为"1,2,3,4" //ifmyVar=newDate()//toString转换为"FriJul18201409:08:55GMT+0200"
数字和布尔值也经常相互转换:
//ifmyVar=123//toString转换为"123" //ifmyVar=true//toString转换为"true" //ifmyVar=false//toString转换为"false"