对象
对象是一个具体的事物 eg 一本书 、一辆汽车、一个人....
在js 中,对象是一组 无序的相关属性和方法的集合 。所有的事物都是对象 eg :字符串、数值、数组、函数等
对象组成
对象是由 属性和方法组成的
- 属性 : 事物的特征,在对象中用属性来表示(常用名词)
- 方法 : 事物的行为,在对象中用方法来表示(常用动词)
例如 : 你的手机 -- 就是对象
而手机的属性有 : 大小、颜色、重量、屏幕尺寸等
手机的行为有 : 打电话,发短信、玩游戏等
为什么需要对象
因为 js对象表达结构更清晰,更强大!
创建对象的三种方式
字面量创建 {}
1、创建
(1)、 里面的属性 或者方法采取键值对的形式
(2)、多个属性或者方法 用 逗号隔开
(3)、方法 冒号后面跟的是一个 匿名函数
2、使用
(1)、调用对象的属性 采用 对象名.属性名
(2)、调用属性还有一个方法 对象名['属性名']
(3)、调用对象的方法 对象名.方法名()
变量、属性、函数、方法的区别
-
变量 是单独声明且赋值的,使用的时候直接写变量名
-
属性 在对象里面的 ,不需要声明,使用的时候是 对象名.属性名
-
函数 是单独声明的,且调用的时候是 函数名() , 单独存在的
-
方法 在对象里面 ,调用的时候 对象.方法()
利用 new Object 创建
(1)、利用等号赋值的方法,添加对象的属性和方法
(2)、每个属性和方法之间用分号结束
利用构造函数创建
为什么需要构造函数?
因为 前面两种创建对象的方式一次只能创建一个对象 , 而里面很多的属性和方法是大量相同的,我们只能复制
因此我们可以利用函数的方法,重复这些相同的代码,我们就把这个函数称为构造函数
这个函数里面封装的是对象
所以 构造函数就是把对象里面一些相同的属性和方法抽象出来 封装到函数里面
语法规范
// 语法规范
function 构造函数名(){
this.属性 = 值
this.方法 = function(){}
}
// 调用
new 构造函数名()
注意点 :
-
1、构造函数首字母大写
-
2、构造函数不需要 return 就可以返回结果
-
3、调用构造函数 必须使用 new
-
4、只要 new Cp() 调用函数 就创建了一个对象 hua{}
-
5、属性和方法 前面必须加 this
构造函数和对象的区别
- 对象 是 一个具体的事物 , 特指某一个
- 构造函数 是泛指的某一大类
注 : 利用 构造函数 创建对象 我们称为对象的实例化
new 关键字
new 在执行时 会做四件事情
1、在内存中创建一个空对象
2、让 this 指向刚才创建的空对象
3、执行构造函数里面的代码,给这个新对象添加属性和方法
4、返回这个新对象 所以构造函数中不需要return
遍历对象属性 for...in
for...in语句 是对数组或者对象的属性进行循环操作的 ; 因为 对象中是 无序的,所以使用传统for循环,并无法进行遍历
语法规范
for(变量 in 对象){
}