示例
/**
* 對象屬於一種復合數據類型,在對象中可以保存多個不同數據類型的屬性
* 對象的分類:
* 1.內建對象
* - 由ES標准定義的對象,在任何ES的實現中都可以使用,比如:Math,
* String, Number, Boolean, Function, Object 等等。
* 2.宿主對象
* - 由JS的運行環境提供的對象,目前來講主要指由瀏覽器提供的對象,比如:BOM, DOM
* 3.自定義對象
* - 由開發人員自己創建的對象
*
* 創建對象
* - 使用new關鍵字調用的函數是構造函數constructor,構造函數是專門用來創建對象的函數
* var obj = new Object();
* - 用typeof檢查一個對象時,會返回object
* console.log(typeof obj); // object
* 添加屬性
* - 在對象中保存的值成為屬性
* - 在對象中添加屬性,語法:對象.屬性名 = 屬性值;
* obj.name = 'Lily';
* 讀取對象的屬性
* - 語法:對象.屬性名;
* - 如果讀取對象中沒有的屬性,不會報錯而是會返回undefined
* 修改對象的屬性值
* - 語法:對象.屬性名 = 新值;
* 刪除對象的屬性
* - 語法:delete 對象.屬性名;
*/
// 創建對象obj
var obj = new Object();
// 打印obj的數據類型
console.log(`obj的類型是 ${typeof obj}`); // obj的類型是 object
// 向obj中添加屬性
obj.name = 'Lily';
obj.gender = 'male';
obj.age = 35;
// 打印對象obj
console.log(obj); // {name: "Lily", gender: "male", age: 35}
// 采用反引號打印的結果不顯示具體的對象內容
console.log(`obj = ${obj}`); // obj = [object Object]
// 讀取obj的屬性name的值
console.log(`obj.name = ${obj.name}`); // obj.name = Lily
// 打印未定義屬性school會顯示undefined並未報錯
console.log(`obj.school = ${obj.school}`); // obj.school = undefined
// 修改屬性name的值
obj.name = 'Jame';
console.log(obj); // {name: "Jame", gender: "male", age: 35}
// 刪除屬性age
delete obj.age;
console.log(obj); // {name: "Jame", gender: "male"}
查看源代碼
總結
