教资上半年取消面试呵呵真不负责上午还出了考场准考证,晚上就取消面试心里默念:cnmcnmcnm。嗯还行吧就复习了九天的教资
对象
什么是对象?
现实生活中:万物皆对象,对象是一个具体的事物,看得见摸得着的实物。例如,一本书、一辆汽车、一个人可以是“对象”,一个数据库、一张网页、一个与远程服务器的连接也可以是“对象”。
例如:
明星 周星驰(星爷)女朋友 迪丽热巴 班主任 咱们班班主任
苹果 这个苹果 手机 pink老师的小米手机 游戏 刺激战场
在JS中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数组、数值、函数等
对象是由属性和方法组成的
-
属性:事物的特征,在对象中用属性来表示(常用名词)
-
方法:事物的行为,在对象中方法来表示(常用动词) 能干什么
为什么需要对象?
保存一个值时,可以使用变量,保存多个值(一组值)可以使用数组,如果要保存一个人的完整信息?
例如,将“张三疯”的个人信息保存在数组中的方式为:
var arr = ['张三疯','男',18,154]
JS中的对象表达结构更清晰,更强大,张三疯的个人信息在对象中的表达结构如下:
张三疯,姓名 = ‘张三疯’;
张三疯.性别 = ‘男’;
张三疯 年龄 = 128;
张三疯 身高 = 154;
创建对象的三种方式
字面量创建对象
对象字面量:就是花括号{ } 里面包含了表达这个具体事物(对象)属性和方法
{ }里面采取键值对的形式表示
-
键:相当于属性名
-
值:相当于属性值,可以是任意类型的值(数字类型、字符串类型、布尔型、函数型)
var star = {
name = 'pink',
age: 18,
sex: '男',
sayHi: function() {
alert('大家好啊~') ;
}
};
对象的调用
-
对象里面的属性调用:对象.属性名, 这个小点. 就理解为"的"
-
对象里面属性的另一种调用方式:对象['属性名'] 注意方括号里面的属性必须加引号 后面会用上
-
对象里面的方法调用:对象.方法名() 注意这个方法名字后面一定加括号
变量、属性、函数、方法总结
-
变量:单独声明赋值,单独存在
-
属性:对象里面的变量称为属性,不需要声明,用来描述该对象的特征
-
函数:单独存在 通过"函数名()" 的方式就可以调用
-
方法:对象里面的函数称为方法,方法不需要声明,使用"对象.方法()" 的方式就可以调用,方法用来描述该对象的行为和功能
利用new object 创建对象
与new Array() 原理一致
利用构造函数创建对象
构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new运算符一起使用,可以把对象中一些公共的属性和方法抽取出来,然后封装到函数里面
构造函数和对象
-
构造函数,如Star(),抽象了对象的公共部分,封装到了函数里面,它泛指某一大类(class)
-
创建对象,如 new Star() 特指某一个 通过new关键字创建对象的过程也称为对象实例化
new关键字
new在执行时会做四件事
-
在内存中创建一个新的空对象
-
让this指向这个新的对象
-
执行构造函数里面的代码,给这个新对象添加属性和方法
-
返回这个新对象(所以构造函数里面不需要return)
记忆口诀
遍历对象
代码冗杂,又因为对象是无序集合 所以不能利用数组
for...in 语句用于对数组或对象的属性进行循环操作
对象:小结
-
对象可以让代码结构更清晰
-
对象复杂数据类型object
-
本质:对象就是一组无序的相关属性和方法的集合
-
构造函数泛指某一大类,比如苹果,不管是红色苹果还是绿色苹果,都统称为苹果
-
对象实例特指一个事物,比如这个apple
-
for in 语句用于对象的属性进行循环操作