文章目录
1、数据类型检测
1.1 控制台输出语句检测
在控制台输出时,颜色为蓝色表示
数值类型
,颜色为黑色表示字符串类型
1.2 typeof 检测数据类型
样例代码:console.log(typeof num)
注意代码在运行时的顺序:
2、数据类型转换
JavaScript是弱数据类型,只有对变量进行赋值之后才知道变量属于什么数据类型
所以就导致在使用表单,prompt等获取过来的数据默认是字符串类型的,此时就无法直接用其进行加减法运算
两个字符换用
+
号连接时,会进行拼接字符串
此时就需要进行数据类型的转换,就是把一种数据类型的变量转换成我们需要的数据类型
2.1 隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换
规则:
+
号两边只要有一个是字符串,都会吧另外一个转成字符串- 除了
+
以外的运算符,比如- * /
等都会把数据类型转换成数字类型
缺点:转换类型不明确,需要进行大量练习才能分辩
+
号作为正号解析可以转换成Number
<script>
console.log(11 + 11)
console.log('11' + 11)
console.log(11 - 11)
console.log('11' - 11)
console.log(1 * 1)
console.log('1' * 1)
console.log(typeof '123')
console.log(typeof + '123')
console.log(+'11' + 11)
</script>
运行结果:
2.2 显式转换
编写程序时过渡依靠系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。
为了避免因为隐式转换带来的问题,通常根据逻辑需要对数据进行显示转换
显示转换:自己编写代码告诉系统改变量需要转换为什么类型
2.2.1 转换为数字型:Number(数据)
- 转换成数字类型
- 如果字符串内容里有非数字。转换失败时结果为
NaN(Not a Number),即不是一个数字
- NaN也是Number类型的数据,代表非数字
parseInt(数据)
表示只保留整数parseFloat(数据)
可以保留小数
console.log(parseFloat('100px'))
的结果为100
console.log(parseFloat())
经常用于过滤单位
2.2.2 转换为字符型
代码:String(数据)
,数据.toString()
数据.toString(2)
表示将数据转为二进制的字符串