JS数据类型
1. 简单数据类型(值类型)
1.1 number(数值类型)
- 作用:可用于计算
- 一切数学的数字(只有nember类型的数字才可以进行计算)
1.2 string(字符串类型)
- 作用:展示文本
- 一切用引号(单引号",双引号“”,反引号``)包起来的内容
- 只有用反引号``包起来的内容里,可以加${变量名}
1.3 boolean(布尔类型)
- 作用:用于条件判断
- 布尔类型只有两个值:true和false
1.4 undefined(未定义)和null(空值)
- 两者差异:
- undefined == null 结果为true
- undefined === null 结果为false (因为全等会比较数据类型)
- Boolean(undefined) 和 Boolean(null) 结果为true
- Number(undefined) 结果为NaN
- Number(null) 结果为0
2. 复杂数据类型(引用类型)
2.1 数组(array)
2.2 函数(function)
2.3 对象(object)
3. 值类型与引用类型的区别
- 值类型:栈中存储数据,赋值拷贝的是数据。修改拷贝后的数据对原数据没有影响
- 引用类型:栈中储存的是地址,堆中存储的是数据。赋值拷贝的是地址,修改拷贝后的数据对原数据有影响
4. 检测数据类型
- typeof (数据) :用于检测数据的类型
console.log( typeof 123 )//'number'
console.log( typeof '123' )//'string'
console.log( typeof true )//'boolean'
console.log( typeof undefined )//'undefined'
console.log( typeof null )//'object'
将会得到一个字符串,显示数据的类型
5.数据类型的转换
- 隐士转换:运算符两边的数据类型不一致,编译器会先转成一样之后计算
- 转换成string:连接符+
当+两边,有一边是字符串类型,则此时+为连接符,编译器就会将两端都转成字符串
- 转number
算数运算符:+ - * / %
- 转boolean
加逻辑非!
- 转换成string:连接符+
- 显示转换.
- 转number
- 转整数:parseInt(数据)
- 转小数:parseFloat(数据)
- 其他类型转number:Number(数据)
- 转string
- string(数据):可以转undefined和null
- 变量名.toString()
这种方式不能转undefined和null
这种方式可以进行进制转换:如.toString(16),转16进制
- 转boolean
加逻辑非!
- 转number