对象
1.包括属性和方法,属性是事物特征,方法是事物行为。比如手机的尺寸、颜色、重量为属性;打电话、发信息、浏览网页、打游戏是手机的方法。
2.创建对象的三种方法
(1)字面量
var obj = {name:' 张继',age: 18,sex: '男',sayHi:function() {console.log('hi~');} } console.log(obj.name); console.log(obj['sex']); obj.sayHi(); 1234567891011
// 字面量创建对象var kk = {name: '可可',type: '阿拉斯加',age: 5,color: '棕红色',bark: function() {console.log('汪汪汪');},showFilm: function() {console.log('一条狗的使命');}}console.log(kk.name);console.log(kk['color']);kk.showFilm();kk.bark();
1234567891011121314151617(2)利用new Object创建对象
利用 = 给对象添加属性和方法,各属性与方法之间用;隔开。
// new Object创建对象var mr = new Object();mr.name = '鸣人';mr.sex = '男';mr.age = 19;mr.skill = function() {console.log('影分身术');};console.log(mr.name);console.log(mr['sex']);mr.skill(); 1234567891011
(3)利用构造函数创建对象
构造函数:由于有些对象具有相同的属性,为了避免代码重复,将公共属性抽象出来,封装在一个函数里,泛指一大类(class)。
创建对象,利用new关键字,这个过程称为对象实例化。
new在执行时会做四件事情
// 利用构造函数创建王者荣耀英雄对象function Hero(uname,type,blood) {this.name = uname;this.type = type;this.blood = blood;this.attack = function(attack) {console.log(attack);}}var lp = new hero('廉颇','力量型',500);console.log(lp.name);console.log(lp['blood']);lp.attack('远战');var hy = new hero('后羿','射手型',100);console.log(hy.name);console.log(hy['type']);hy.attack('近战');
1234567891011121314151617遍历对象
//遍历对象for(var k in obj) {console.log(k); //键 属性名console.log(obj[k]); //属性值} 12345