个人博客
专注IT梦想的地方

JavaScript之类型转换

今天分享的是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
自动转换类型 Type Conversion
当 JavaScript 尝试操作一个 “错误” 的数据类型时,会自动转换为 “正确” 的数据类型。
以下输出结果不是你所期望的:
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”
赞(0) 打赏
未经允许,不得转载本站任何文章:智言个人博客 » JavaScript之类型转换

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏