JavaScript数据类型转换
声明
该文部分代码和内容节选自菜鸟教程,仅用作个人学习,特此声明
数据类型转换
JavaScript 变量可以转换为新变量或其他数据类型:
- 通过使用 JavaScript 函数
- 通过 JavaScript 自身自动转换
- toString() 方法可以把数值转换为字符串。
<script>
var a=100;
var c=a.toString();
alert(typeof(c)); //typeof()方法验证转换后的数据类型为string
</script>
如果转换的内容为空会报错:
var num = 1;
console.log(num.toString());//1
var str =null;
console.log(str.toString());//Cannot read properties of null (reading 'toString')
console.log(str+"");// null
可以用 + "" 进行强制转换。
-
parseInt() 和 parseFloat() 方法可以把字符串转换为数值。
<script> var str="123.30"; var a=parseInt(str); //parseInt()方法把字符串转换为整数123 var b=parseFloat(str); //parseFloat()方法把字符串转换为浮点数123.30 </script>
-
要把任何值转换为布尔型数据,在值的前面增加 !! 即可,!!0 为 False,其余的均为 True。
-
布尔值转换为字符串
全局方法 String() 可以将布尔值转换为字符串。
String(false) // 返回 "false"
String(true) // 返回 "true"Boolean 方法 toString() 也有相同的效果。
false.toString() // 返回 "false"
true.toString() // 返回 "true" -
日期转换为字符串
Date() 返回字符串。
Date() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
全局方法 String() 可以将日期对象转换为字符串。
String(new Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Date 方法 toString() 也有相同的效果
下标可以查看更多关于日期转换为字符串的函数:
方法 描述 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 日至今的毫秒数。 -
字符串转数字:一元运算符
var y = "5"; // y 是一个字符串 var x = + y; // x 是一个数字
-
布尔值,日期转数字
-
全局方法 Number() 可将布尔值转换为数字。
Number(false) // 返回 0
Number(true) // 返回 1 -
全局方法 Number() 可将日期转换为数字。
d = new Date();
Number(d) // 返回 1404568027739日期方法 getTime() 也有相同的效果。
d = new Date();
d.getTime() // 返回 1404568027739
-
-
自动转换类型
当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。
5 + null // 返回 5 null 转换为 0 "5" + null // 返回"5null" null 转换为 "null" "5" + 1 // 返回 "51" 1 转换为 "1" "5" - 1 // 返回 4 "5" 转换为 5
-
自动转换为字符串
尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法
document.getElementById("demo").innerHTML = myVar; myVar = {name:"Fjohn"} // toString 转换为 "[object Object]" myVar = [1,2,3,4] // toString 转换为 "1,2,3,4" myVar = new Date() // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
数字和布尔值也经常相互转换
myVar = 123 // toString 转换为 "123" myVar = true // toString 转换为 "true" myVar = false // toString 转换为 "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 "Runoob" NaN "Runoob" true [ ] 0 "" true [20] 20 "20" true [10,20] NaN "10,20" true ["Runoob"] NaN "Runoob" true ["Runoob","Google"] NaN "Runoob,Google" true function(){} NaN "function(){}" true NaN "[object Object]" true null 0 "null" false undefined NaN "undefined" false
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律