一.基本数据类型
1.Number类型
数值字面量:数值的固定值的表示法,例如110,1024,60.5
数值判断:
NaN:not a number (可以通过Number()方法判断)
NaN与任何值都不相等,包括他本身
isNaN(): is not a number (如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false)
2.String类型
字符串可以使用单引号,也可以使用双引号,例如:'abc'、"abc"。
字符串拼接:字符串拼接使用 + 连接
console.log(11 + 11);
console.log('hello' + ' world');
console.log('100' + '100');
console.log('11' + 11);
console.log('male:' + true);
两边只要有一个是字符串,那么+就是字符串拼接功能
两边如果都是数字,那么就是算术功能。
语言具有隐式转换(隐式类型转换就是指,数据的类型在不用人工干预的情况下进行转换的行为,原因:js是一门弱类型(动态类型)的语言,他在声明变量的时候不需要指定类型,对变量赋值也没有类型的检测,所以js是非常的灵活的,)
3.Boolean类型
Boolean字面量: true和false,区分大小写
4.Undefined类型
undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined
5.Null类型
null表示一个空,变量的值如果想为null,必须手动设置
二.数据类型转换
typeof关键字:获取变量的类型
var age = 18;
console.log(typeof age); // 'number'
toString()
转换成字符串类型
var num = 5;
console.log(num.toString());
String()
String()函数存在的意义:有些值没有toString(),这个时候可以使用String()。比如:undefined和null
转换成数值类型 Number()
Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN
Number()转化规则:
a. 如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0
b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0
c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值
d. 如果字符串为空,或者是空内容,将其转换为0
e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN
转换成布尔类型 Boolean()
0 ' ' null undefined NaN会转换成false,其它都会转换成true。