JavaScript基础--数据类型
基本数据类型
一.Sting字符串
1.在JS中字符串需要使用引号引起来
2.使用双引号或者单引号都可以,但是不要混着用
3.引号不能嵌套,双引号不能放双引号,单引号不能放单引号
字符串中我们可以使用\作为转义字符
当表示一些特殊符号时可以使用\进行转义
\" 表示 "
\' 表示 '
\n 表示换行
\t 表示制表符
\\ 表示 \
二.number数值
包括整数和浮点数(小数)
JS中可以表示最大的数字: Number.MAX_VALUE
如果使用Number表示的数字超过了最大值,则会返回一个Infinity,表示正无穷
返回一个-Infinity,表示负无穷
可以使用一个运算符typeof来检查一个变量的类型,语法:typeof 变量
检查 字符串时,会返回string, 检查数值时, 会返回number
三.boolean布尔值
布尔值只有两个值:
true -- 表示真
false -- 表示假
四.null空值 和 undefind未定义
null空值
null类型的值只有一个,就是null
使用typeof检查一个null时,会返回object
undefind未定义
undefind的类型只有一个,就是undefind
当声明一个变量,但是并没有赋值,他的类型就是undefind
数据类型强制转换
指将一个数据类型强制转换为其他的数据类型
类型转换主要指,讲其他的数据类型转化为: string,number
将其他的数据类型转换为String
方法一:
- 调用被转换数据类型的toString()方法
- 该方法不会影响原变量,而是返回一个新的结果
- 但是注意: null和undefind这两个值没有toString方法
如果调用他们的方法,会报错
方法二:
- 调用String()函数,并将被转换的数据作为参数传给函数
- 使用String()函数作为强制类型转换时:
对于Number和Boolean实际上就是调用toString()方法
但是对于null和undefind就不会调用toString()方法
他会直接将null转换成"null",将undefind转换成"undefind"
将其他的数据类型转换为number
方法一:
使用Number()函数
- 字符串 -->数字
1. 如果是纯数字的字符串,则直接转换为数字
2. 如果字符串中有非数字的内容,则转换为NaN
3. 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
- 布尔 --> 数字
true 转成 1
false 转成 0
- Null --> 数字 == 0
方法二:
- 这种方法专门用啦对付字符串
- parseInt() 把一个字符串转换成一个整数
- parseFloat() 把一个字符串转成一个浮点数
parseInt() 可以将一个字符串汇总有效的整数内容取出来,按位读取,遇到非整数就停止 ,例: 123.456px --> 123
parseFloat() 作用和 parseInt() 类似,不同的是他可以获得有效的小数
如果对非String使用parseInt() 或 parseFloat() ,它会先将其转换为String,然后再操作
将其他的数据类型转换为boolean
调用Boolean()函数来转换
- 数字 --> 布尔 : 除了0和NaN,都是true
- 字符串 --> 布尔: 除了空串,都是true
- null 和 undefind 都会转换成 false
- 对象也会转换为 true
其他进制的数
在JS中,如果需要表示16进制的数,则需要以0x开头
如果需要表示8进制的数字,则需要以0开头
如果需要表示2进制的数字,则需要以0b开头
不是所有浏览器都支持
像"070" 这样的字符串,有些浏览器会当做8进制,有些会当做10进制,所以可以在parseInt()中传递一个第二个参数指定2进制或10进制