對象:(是一種引用類型的數據,存儲在堆內存中)app
對象是一組屬性和方法/功能的集合函數
使用大括號{}建立空對象 屬性名和屬性值用冒號隔開 多組屬性之間用逗號隔開 屬性名中引號可加可不加,有特殊字符時必須加;this
例1:spa
// 使用對象字面量建立對象[object] // 建立一個手機對象 var phone={}; console.log(phone);
例2:code
// 建立一個手機對象 //{屬性名:屬性值,...} var phone={ color:'red', brand:'apple', size:5.7, price:2000, 'made-in':'china' }; console.log(phone);
例3:對象
// 建立一個部門對象,屬性有部門編號、名稱、員工數量 var department={ did:10, dname:'dev', count:5 } console.log(department); // 建立一個員工對象,屬性有編號、姓名、性別、生日、工資、所在部門 var emp={ eid:2, sex:1, ename:'tmo', birthday:'1993-1-1', salary:10000, deptId:10 } console.log(emp);
例1:blog
// 建立一個空對象 var lixian=new object(); // 添加屬性 book.id=103; book.name='紅樓夢'; book['price']=30; book['publish']='人民郵電出版社'; console.log(book);
例2:內存
// 建立一個汽車對象,屬性有編號、品牌、顏色、價格 var car=new object(); car.cid='101'; car.brand='奇瑞QQ'; car.price=40000; car.color='red'; console.log(car) // 建立一個電腦對象,屬性有型號、品牌、尺寸、產地 var computer=new object(); computer['id']='thinkpad'; computer['brand']='聯想'; computer['size']=15.6; computer['madeIn']='china'; console.log(computer);
例1:ci
// 訪問對象中的屬性 // 若是要獲取的屬性不存在,屬性值是undefined var emp={ eid:3, ename:'kata', sex:0, birthday:'1998-2-5', salary:8000 }; console.log(emp.ename); console.log(emp['birthday']);
例2:遍歷對象中的屬性(for-in)get
// 獲取到每個屬性名,進而獲取屬性值 // key表示對象中的每個屬性名,in後的表示要遍歷的對象
// 獲取屬性名
for(var key in emp){ console.log(key); }
// 獲取屬性名和值
for(var key in emp){
console.log(key+'-----'+emp[key]);
}
例3:
// 練習:建立一個商品的對象,包含編號、標題、價格 是否在售 商品庫存量 使用for-in遍歷全部屬性 var product={ pid:18, title:'dell', price:4000, isonsale:1, stockCount:88 }; console.log(product); for(var key in product){ console.log(key+'----'+product[key]); }
例4:檢查對象中是否有本身的屬性
對象.hasOwnProperty('ename'),有——true, 沒有——false
// 判斷對象中是否有salary屬性
console.log(emp.hasOwnProperty('salary'));
若是一個屬性的屬性值是undefind,說明屬性不存在
// true——不存在 false——存在 console.log(emp.deptId===undefind);
例5:匿名函數調用
// 建立一我的對象 // 對象中的方法:匿名函數調用 【對象.屬性】/【this.屬性】 var person={ name:'tom', age:18, sex:'男' say:function(){ //console.log('我是kata,性別女,年齡28'); // this 指代當前的對象,也能夠用person.name console.log('我叫'+ this.name); } }; // 調用對象中的方法 person.say();
例6:
// 建立一個圓對象,添加屬性半徑、圓周率、添加方法計算周長(getLength)和麪積(getArea),返回圓的周長的面積。 var circular={ r:3; PI:3.14; getLength:function(){ return 2*this.PI*this.r; } getArea:function(){ return this.PI*this.r*this.r; } } var res1=circular.getLength();console.log('周長'+res1); var res2=circular.getArea();console.log('面積'+res2);