关于变量的数据类型是如何来决定的呢? 在JS中变量本身是没有数据类型的 当我们给变量赋一个值的时候,值的类型是什么,那么该变量就是什么数据类型
在JS中除了我们正常的数据类型转换以外,还有一些隐式类型的转换 你期望什么样类型的值,JS就会自动帮我们去进行转换,而不需要我们手动进行操作
JS中的数据类型:6种 五种基本数据类型和一种复杂(引用)数据类型 基本: String 字符串 Number 数值 Boolean 布尔 Undefined 未定义 Null 空 复杂: Object 对象
string类型字符串类型 只要是被双引号或者单引号包裹起来的内容就称之为字符串
number类型数值类型 整型 123 -5 浮点型 3.14 5.32-5.21 特殊值 NaN Not a Number非数值 NaN特点: 1.NaN和任何值都不相等,包括它本身 2.任何涉及到NaN的运算, 返回的结果都是NaN3.任何涉及到NaN的判断,得到的都是false
undefined类型未定义类型 当创建一个变量但没有给任何值的时候,那么这个变量的类型就是undefined类型或 者当创建变量时直接给一个undefined值 null类型空类型(空指针对象) var c = null; object类型对象类型面向对象编程 万物皆对象
我们如何知道这个变量到底是一个什么类型的值呢? 检测数据类型的关键字 Typeof
当我们使用typeof检测数据类型的时候,无法直接检测到null类型,因为null使用typeof检测得到的结果是一个对象,也就是object类型
实际上typeof检测类型的结果,也给我们提供了6种结果,但是这六种结果中没有null但是却多出来了一个 function叫做函数
因为在JS中,函数是最最主要的一部分内容,所有的操作基本上离不开函数,所以我们可以单独的为函数来做一个数据类型
typeof使用的语法是有两种:
Typeof 变量
Typeof (变量)
基本数据类型之间的转换:
1. 其他类型转换成字符串类型:
1.通用转换方式:String ()
2.特殊转换方式:toString () undefined类型和null类型是没有这个方法的
3. 实际工作中总结经验出来的方式:""+要转换的值
2. 其他类型转换成数值类型
1.通用转换方式: Number()―必须整个值进行转换,也就是说整个值必须全部都可以转换成数值时,
才能是一个真正的数值,否则都是NaN
true转换成数值是1
false转换成数值是0
undefined换成数值是NaNnull转换成数值是0
其他类型值转换成数值类型为0的有哪些:6种情况
False null '0' '' ' ' []
2.专门用于字符串转数值的方法:
parseInt() 转换成整型取整的规则是:向下取整
parseFloat() 转换成浮点型
转换的方式是:
将字符串的每一个字符从前向后判断是否能转换,如果从最开始有能转换的内容,就会进行对应的转换,一直到不能转换的字符串为止,如果一开始就无法转换,则直接变成NaN
3.经验转换:
+要转换的内容语法相当于是Number()方法的简写
其他类型转换成布尔类型
3. 其他类型转换成布尔类型
1. 通用转换方式: Boolean()
*****重要*****
其他类型转换成布尔值为false的有哪些?
五个:
Undefinednull
I
0
NaN
''
2.经验转换:
!!要转换的内容就可以直接转换了