对象(object)
对象是一组无序相关属性和方法的集合 所有的事物都是对象
对象由属性和方法组成
- 属性:事物的特征(常用名词)
- 方法:事物的行为(常用动词)
创建对象
利用字面量创建对象
对象字面量:就是{}里面包含了表达这个具体事务的属性和方法
var obj={};创建了一个空的对象
里面的属性或者方法采取键值对形式 键 属性名:值:属性值
多个属性或者方法用,隔开
方法:后面跟的是一个匿名函数
利用new创建对戏
var obj = new Object()
利用等号赋值的方法添加对象的属性和方法 每个属性和方法后面用;结束
利用构造函数创建对象
前面两种创建对象的方式一次只能创建一个对象
构造函数里封装的不是普通代码,而是对象
批量生成对象
利用构造函数创建对象的过程也称为对象的实例化
构造函数
就是把对象里一些相同的属性和方法抽象出来封装到函数里面
主要用来初始化对象,即为对象成员变量赋初始值,总是与new一起使用
function 构造函数名(){
this.属性=值;
this.方法=function(){}
}
new 构造函数名();//调用构造函数 调用函数返回的是一个对象
1.构造函数的名字首字母要大写
2.构造函数不需要return就可以返回结果
3.调用构造函数必须使用new
4.只要调用了函数就创建了一个对象
5.属性和方法前面必须用this
练习
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FZW9ekkm-1624709502373)(C:\Users\甜味少女静\Pictures\练习1.png)]
function Hero(hname,htype,blood) {
this.name = hname;
this.type = htype;
this.blood = blood;
this.gongji =function(attack) {
console.log(attack);
}
}
var lianpo = new Hero('廉颇','力量型','500血量')//调用构造函数一定要用new
var houyi =new Hero('后羿','射手型','100血量')
console.log(lianpo.name);
houyi.gongji('远程');
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LDeyKiUK-1624709502376)(C:\Users\甜味少女静\Pictures\练习1.1.png)]
使用对象
属性(不需要声明): 对象名.属性 or 对象名[‘属性名’]
方法:对象名.方法名() 千万别忘记添加()
new关键字
1.new构造函数时先在内存中创建了一个空的对象
2.this就会指向刚才创建的空对象
3.执行构造函数中的代码,给这个空对象添加属性和方法
4.返回这个对象(所以不用return返回)
遍历对象属性
for…in 语句 用于对数组或者对象的属性进行循环操作
//语法格式
for (变量 in 对象){
console.log(变量);//输出的是属性名
consloe.log(对象[变量]);//输出的是属性值
}
//变量一般会写k或者key
格式
for (变量 in 对象){
console.log(变量);//输出的是属性名
consloe.log(对象[变量]);//输出的是属性值
}
//变量一般会写k或者key