JS對象
創建對象
- 構造函數:var obj = new Object()
- 對象字面量:var obj = {};
不同:對象字面量可以在創建的同時為對象設置屬性,最后一個屬性后面不要加逗號
對象操作
- 添加屬性:
對象名.新屬性名 = 值
- 修改屬性:
對象名.屬性名 = 新值
- 刪除屬性:
delete 對象名.屬性名
- 添加方法
var obj = {// 方法1:fun : function(){console.log(this);},// 方法2:fun2(){console.log(this);}
}// 方法3:
obj.otherfun = fun1;
- 調用方法 obj.fun2();
屬性名不強制要求遵循標識符規范,可以使用任意字符或字符串,但特殊字符或字符串做屬性名時需要使用對象名[屬性名]
的方式操作對象,事實上規范的屬性名用這種方法也更方便。
基本數據類型與引用數據類型
- 基本數據類型存儲在棧內存中,值與值相互獨立
- 引用數據類型數據存儲在堆內存中,棧中存儲堆內存的地址(引用),每次new都會開辟一塊新的堆內存空間
其他
- 枚舉對象屬性
for(i in Object){console.log(i);
}