今天分享的是javascript中的类型转换,javascript中的类型转换和Java中的类型转换不一样,因为javascript的整个编程体系属于弱类型,所以在类型转换中它会自动转换类型,但是javascript中还是提供了一些转换的方法,如下:
将数字转换为字符串
全局方法String()可以将数字转为字符串,当然,还可以将布尔值、日期等转换成字符串
String(x) 比如: String(123),这样就将123数字的Number类型转换成了String类型。
方法 | 描述 |
---|---|
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 日至今的毫秒数。 |
同样,使用Number类型的toString()方法也是可以转换的。
x.toString() 比如:(123).toString(),这样也可以将123数字的Number类型转换成了String类型。
在Number方法中,还提供了其他一些转换为字符串的方法。
方法 | 描述 |
---|---|
toExponential() | 把对象的值转换为指数计数法。 |
toFixed() | 把数字转换为字符串,结果的小数点后有指定位数的数字。 |
toPrecision() | 把数字格式化为指定的长度。 |
将字符串转换为数字
同样,字符串也可以转换成数字,使用全局方法Number()即可,这里如果是空字符串的话会转换成0。
Number(“3.14”) // 返回 3.14
Number(” “) // 返回 0
Number(“”) // 返回 0
Number(“99 88”) // 返回 NaN
方法 | 描述 |
---|---|
parseFloat() | 解析一个字符串,并返回一个浮点数。 |
parseInt() | 解析一个字符串,并返回一个整数。 |
当然,如果是布尔类型的要转换成数字,即直接可以转换成0和1即可。
Number(false) // 返回 0
Number(true) // 返回 1
全局方法 Date() 可将日期转换为数字。
d = new Date();
Number(d) // 返回 1404568027739
日期方法 getTime() 也有相同的效果。
d = new Date();
d.getTime() // 返回 1404568027739
5 + null // 返回 5 because null is converted to 0
“5” + null // 返回”5null” because null is converted to “null”
“5” + 1 // 返回 “51” because 1 is converted to “1”
“5” – 1 // 返回 4 because “5” is converted to 5
当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:
document.getElementById(“demo”).innerHTML = myVar;// if myVar = {name:”Fjohn”} // toString 转换为 “[object Object]”
// if myVar = [1,2,3,4] // toString 转换为 “1,2,3,4”
// if myVar = new Date() // toString 转换为 “Fri Jul 18 2014 09:08:55 GMT+0200”
数字和布尔值也经常相互转换:
// if myVar = 123 // toString 转换为 “123”
// if myVar = true // toString 转换为 “true”
// if myVar = false // toString 转换为 “false”
评论前必须登录!
注册