【JavaScript】JS中的对象(Object)
JavaScript的对象
一、什么是对象?
-
对象:是一组无序的相关属性和方法的集合,所有的事物都是对象
-
对象是由属性和方法组成的
- 属性:事物的特征
- 方法:事物的行为
二、为什么需要对象?
- 使用对象表达,可以使结构更清晰
三、如何创建对象?
01. 对象字面量
- 语法结构
var obj = {
username: "Ruovan",
age: "24",
sex: "男",
sayHi: function(){
console.log("hi~~~");
}
};
- 需要注意
- 里面的属性或者方法我们采取键值对的形式——【键(属性名): 值(属性值)】
- 多个属性或者方法中间用逗号隔开的
- 方法冒号后面跟的是一个匿名函数
02. 利用 new Object
创建对象
-
语法结构
var obj = new Object(); obj.name = "Ruovan"; obj.age = 24; obj.sex = "男"; obj.sayHi = function(){ console.log("hi~~~"); };
-
需要注意
-
利用等号
=
赋值的方法,来添加对象的属性和方法 -
每个属性和方法之间用分号
;
结束
-
03. 利用构造函数创建对象
-
构造函数:就是把对象里面一些相同的属性和方法抽象出来封装到函数里面,可以一次创建多个对象
增强代码的复用性
-
语法结构
利用构造函数创建对象的过程也叫做对象的实例化
function 构造函数名(){ this.属性 = 值; this.方法 = function(){} } //调用 new 构造函数名();
//构造函数名,首字母大写 function Animal(uname,color){ //uname,color等都是形参,接收用 new 调用函数创建对象传进来的实参 this.name = uname; this.color = color; //v是形参,接受对象调用方法时传进来的实参 this.say = function(voice){ console.log(voice); } } //这里实际创建了一类 Animal 对象,这个对象有 name、color 属性和 say 方法 //必须用 new 调用构造函数来创建一个对象 //调用构造函数,返回的是一个对象 var dog = new Animal("Dog","black"); //这里创建了一个 dog 对象,属于 Animal 对象类 dog.say("汪汪汪"); var cat = new Animal("Cat","white"); cat.say("喵喵喵");
-
new
的执行过程-
new
构造函数可以在内存中创建一个空对象 -
this
就会指向刚才创建的空对象 -
执行构造函数里面的代码,就可以给这个空对象添加属性和方法
-
返回这个对象
-
-
需要注意
-
构造函数名的首字母大写
-
必须用
new
调用 构造函数 来创建一个对象 -
构造函数不需要
return
就可以返回一个对象 -
构造函数内部的属性和方法前面必须添加
this
-
构造函数泛指一类事物
-
对象特指具体的事物
-
四、如何使用对象?
01. 调用对象的属性
-
【对象名.属性名】,其中
.
可以理解为【的】obj.username;
-
【对象名[‘属性名’]】
obj["age"];
02. 调用对象的方法
-
【对象名.方法名()】,注意要添加小括号
obj.sayHi();
03. 区别
变量和属性、函数与方法的区别
(1)变量和属性
- 变量:单独声明并赋值,使用的时候:直接写变量名,单独存在
- 属性:对象里面的变量称为属性,不需要声明,使用的时候必须是:对象.属性
(2)函数与方法
函数和方法的相同点:都是实现某种功能,做某件事
- 函数:是单独声明的,调用的:函数名(),单独存在的
- 方法:是在对象里面的函数,方法不需要声明,调用的时候:对象.方法()
五、如何遍历对象?
01. for…in
-
语法结构
//通常使用k,代表key,也可以用其它的 for( var k in obj){ console.log(k); //输出k,得到属性名 console.log(obj[k]); //输出obj[k],得到属性值 }