1、基本数据类型
- Number(数值)
- String(字符)
- Boolean(true/false)
- Undefined(未定义)
- Null(空对象指针)
2、引用数据类型
Object(对象)
3、typeof返回数据类型
- 使用方式:
typeof 被检测变量
- 使用typeof返回“对象、数组和null”的值都是“Object”类型。
- 注意:typeof返回“函数”的值是“Function”类型,但是函数是引用类型。
- typeof返回“任意数字和NaN”的值都是“Number”类型。
4、NaN(Not a Number)
- NaN与任何值都不相等,包括NaN本身。
- isNaN判断参数是否“不是数值”,默认会进行隐式转换。
5、instanceof检测引用数据类型
- 为什么要使用instanceof?
因为使用typeof无法准确检测引用类型,使用typeof,除函数返回“Function”外,其他都返回“Object” - 使用格式:
"返回结果" = 被检测变量 instanceof Object;
6、undefined与false
虽然undefined可以饮食转换成false,但是undefined是不等于false的,是不同的含义。(undefined === false)返回false
7、基本数据类型和引用数据类型的区别
- 基本数据类型之间的赋值,每个变量都会开辟一个新的内存地址,之间没有联系。
var a = 1;
var b = a;
console.log(a); //输出:1
console.log(b); //输出:1
a = 2;
console.log(a); //输出:2
console.log(b); //输出:1
- 引用数据类型之间的赋值,都指向同一个内存地址
var a = {name: "wutian"};
var b = a;
console.log(a.name); //输出:wutian
console.log(b.name); //输出:wutian
a.name = "lyc";
console.log(a.name); //输出:lyc
console.log(b.name); //输出:lyc
//当b重新指向一个新的对象时,a、b之间没有联系
b = {name: "zzw"};
console.log(a.name); //输出:lyc
console.log(b.name); //输出:zzw