基本数据类型:String Number Boolean Null Undefined
引用数据类型:Object
我们的内存分成了两大块,一是栈内存二是堆内存。变量都是保存到栈内存中,var a = 123;
a和123都在栈空间,var a = new Object();a在栈空间和Object在堆空间,引用数据类型中如果多个变量引用一个对象,对象属性改变之后,所有的变量中的值都改变。
new用于创建对象,表示会在内存中开辟新的区域。每创建一个对象都会在堆空间中开辟一个空间。对应的空间地址类似于0x1234这样的数据。
var obj = new Object();
这样写有问题,比较复杂。
var obj = {};
这样与上述表示方式是一模一样,更加省事而已。使用这种方式,我们甚至可以直接添加属性。
var obj2 = {name:"猪八戒",age:28};
为了表示更清楚,我们经常这么写。
- var obj2 = {
-
- name:"猪八戒",
- age:28,
- gender:"男"
- };
对象字面量的属性名可以加引号或者不加引号都行。但是如果使用特殊名字,必须加引号。属性名和属性值之间。
- var obj2 = {
-
- name:"猪八戒",
- age:28,
- gender:"男",
- "@#$%%%%":"悟空",
- test:{"name","你的宝宝"}
- };
这种方式用的多一点,但是我们实际开发过程中两个要都会用。