出自我的公众号哦,喜欢请关注:
我们一起学习:JavaScript 数据类型
1、值类型
- 字符串
- 数字
- 布尔
- null
- undefined
JavaScript 中还可以用数字表示二进制
、八进制
与十六进制
。
1)二进制是以 0b
开头的数字:
var val10 = 0b1010;
var val8 = 0b1000;
console.log(val10); // 输出:10
console.log(val8); // 输出:8
2)八进制则可以用 0
开头的数字表示。
var val56 = 070;
console.log(val56); // 输出:56
3)十六进制使用 0x
开头表示。
var val10 = 0xA;
console.log(val10); // 输出:10
十六进制是比较常用的一种方式,二进制和八进制的表示使用相对较少。
4)布尔值为false的是:
- null
- undefined
- NaN
- 0(数字0)
- 空字符串
5)null
在初始化一个变量的时候,有时候类型不确定,或者应该是一个对象,但还有设置值的时候会使用到null。
6)undefined
undefined
从中文意思上理解就是不确定或者没有定义。
2、引用类型
- 对象
- 数组
- 函数
3、值类型和引用类型的区分方式
从内存角度出发,值类型放在内存栈中,引用类型则放在内存堆中。
1)值类型直接操作值。
2)引用类型的数据本身是指向内存上的一块地址,操作的时候对地址上的值进行操作。
var obj1 = {
name: '小明',
};
var obj2 = obj1;
obj2.name = '小红';
console.log(obj1.name); // 输出:小红
// 引用类型在进行复制的时候,其实就是多了一个引用,操作的值是同一个。
var val1 = 1;
var val2 = val1;
val2 = 2;
console.log(val1); // 输出:1
// 值类型进行复制后,则是一个新的值。