1.number 数据类型
NAN (Not a number)数值类型特殊值,表示运算后的错误结果;
特点:
d.【 NaN - 非数值】 (Not a number) : 代表 算数运算后的错误结果 ;
d1. 当 算数运算符 运算 一个 不是 数值的 数据时,无法计算结果,所以 返回 NaN;
d2. 任何值 与 NaN 运算结果 都是 NaN;
d3. NaN 与任何值都不相等 ,包括它自己;
d4. 使用 isNaN(x) 来 检测 x 是不是 一个 NaN
如果 x 是 一个 NaN , 就返回 true
不是 , false
2.string字符串类型
'',""单引号或双引号都可以;
// 注:引号必须成对出现;
嵌套关系
var str1 = '我是"高帅富"程序猿'; // 可以用 '' 包含 ""
var str2 = "我是'高帅富'程序猿"; // 也可以用 "" 包含 ''
当有连接符+时,另一边会自动变成字符串.包括true\false~undefined~null
字符串拼接
console.log(11 + 11); //1111
console.log('hello' + ' world'); //hellworld
console.log('100' + '100'); //100100
console.log('11' + 11); //1111
console.log('male:' + true); male:true
1. 两边只要有一个是字符串,那么+就是字符串拼接
2. 两边如果都是数字,那么就是算术功能。
获取字符串的长度length
var str = '程序员,你好呀!+"true"'
console.log(str.length) //8
1.符号也会被计算进去
3.Boolean布尔值
true/false
注意:区分大小写.
true本质就是 1;
false本质就是 0;
1+true=2;
1+false=1;
4、undefined未定义类型
一个声明后没有被赋值的变量会有个默认值 undefined.
var usrName; // 声明变量后没有直接赋值,此时它的默认值就是 undefined
alert(usrName); // 显示 undefined
5.null空对象类型
提问时间:
为什么null是一个空对象,还是基本数据类型呢???
在 JS 的最初版本中使用的是 32 位系统,为了性能考虑使用低位存储变量的类型信息,
000 开头代表是对象,然而 null 表示为全零,所以将它错误的判断为 object 。
虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来。
判断undefined和null是否相等
undefined == null // true 因为都表示为空,都能转成 0 undefined === null // false 因为数据类型不同
如果你定义了一个变量,但是想在以后把这个变量当做一个对象来用,那么最好将该对象初始化为 null 值
如果你想把一个对象占用的内存释放掉,办法之一就是把这个变量设置为 null
设置 null 的两个方式:
手动设置给变量
JS引擎 也会在释放对象空间后把变量设置为 null
在调用prompt方法时,如果用户点击取消,也会返回 null
6.typeof 获取数据类型
7.复杂数据类型,引用类型
Object - 对象 Array - 数组 Function - 函数 自定义类型