对象
现实生活中:万物皆对象,对象是一个具体的事物,看得见摸得着的实物,例如,一本书,一辆汽车,一个人可以是"对象",一个数据库,一张网页,一个远程服务器的连接也可以是的"对象"。
在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串,数值,数组,函数等。
对象是由属性和方法组成的。
- 属性:事物的特征。在对象中用属性来表示(常用名词)
- 方法:事物的行为,在对象中用方法来表示(常用动词)
为什么需要对象
保存一个值时,可以使用变量,保存多个值(一组值)时,可以使用数组。如果要保存一个人的完整信息呢?
我们就可以使用对象来存储变量,这样很方便!
创建对象的三种方式
在JS中,现阶段我们可以采用三种方式创建对象:
- 利用字面量创建对象
- 利用new Object创建对象
- 利用构造函数创建对象
利用字面量创建对象
对象字面量:就是花括号{}里面包含了表达这个具体事物(对象)的属性和方法
- 里面的属性或者方法我们采用键值对的形式
- 多个属性或者方法中间用逗号隔开
- 方法冒号后面跟的时一个匿名函数
var obj={
name:'41',
age:18,
sex:'男',
say:function(){
console.log('hi~');
}
};
使用对象
- 调用对象的属性,我们采用 对象名.属性名
console.log(obj.name);
- 对象名[‘属性名’]
console.log(obj['age']);
- 调用对象的方法 say 对象名.方法名()
obj.say();
利用new Object创建对象
- 利用邓号赋值的方法,添加对象的属性和方法
- 每个属性和方法之间用分号结束
var obj=new Object();
obj.name='41';
obj.age=18;
obj.sex='男';
obj.say =function(){
console.log('hi~');
}
我们为什么需要使用构造函数呢?
前面两种创建对象的方式,一次只能创建一个对象。
我们可以利用函数的方法,重复这些相同的代码,我们就把这个函数成为 构造函数
构造函数 就是把我们对象里面一些相同的属性和方法抽象出来封装到函数中
- 1.构造函数名字首字母要大写
- 2.我们构造函数不需要return就可以返回结果
- 3.我们调用构造函数 必须使用new
- 4.我们只要new Star() 调用函数就创建一个对象
- 5.我们的属性和方法前面必须添加this
function Star(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.sing=function(sang){
console.log(sang);
}
}
var obj=new Star('41',18,'男');
console.log(obj.name);
console.log(obj['age']);
obj.sing('shine');
对象和构造函数的区别
构造函数 泛指某一大类,类似于java里面的类class
对象特指一个具体的事物
我们利用构造函数创建对象的过程也称为 对象的实例化!
new关键字
- new构造函数可以在内存中创建一个空的对象
- this就会指向刚才创建的空对象
- 执行构造函数里面的代码 给这个空对象添加属性和方法
- 返回这个对象
遍历对象属性
for(var i in obj){
console.log(i);
console.log(obj[i]);
}