1.概念
-- 在JS中,对象是一组无需的相关属性和方法的集合,所有的事物都是对象,例如字符串,数值,数组,函数等。
-- 对象是由属性和方法组成的。
-- 属性:事物的特征。
-- 方法:事物的行为。
2.创建对象的三种方式
2.1.利用字面量创建对象
-- 就是{}里面包含了表达式这个具体(对象)的属性和方法。
-- {} 里面采用的是键值对的形式表示。
键:相当于属性名
值:相当于属性值,可以是任意类型的值(数字,字符串,布尔,函数)
2.1.1.对象的使用
-- 访问对象的属性:
对象.属性名
对象[‘属性名’],([ ]里必须加引号)
--调用对象的方法:
对象.方法() (方法名后必须有括号)
2.1.2.小总结:变量、属性、函数、方法总结
-- 变量是单独存储数据的容器,单独声明赋值,单独存在。
-- 属性是对象的一部分,对象里的变量,不需要声明,用来描述该对象的特征。
-- 函数:单独存在,通过“函数名()”的方式就可以调用,函数是单独封装操作的容器。
-- 方法是对象的一部分,对象里面的函数称为方法,方法不需要声明,使用“对象.方法名()”的方式就可以调用,方法用来描述该对象的行为和功能。
2.2.利用new Object 创建对象
-- 创建空对象
const andy = new Object()
通过内置构造函数Object创建对象,此时andy变量已经保存了创建的空对象。
-- 给空对象添加属性和方法
andy.name = 'pink' (对象.属性 = 值)
andy.SayYes = function(){
alert('Yes')
}
2.3.利用构造函数创建对象
2.3.1 构造函数:
-- 构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new运算符一起使用。
-- 举个🌰:
function 构造函数名(形参1,形参2,形参3,){
this.属性名 = 参数1
this.属性名 = 参数2
this.属性名 = 参数3
this.方法名 = 函数体
}
-- 构造函数的调用格式
var obj = new 构造函数名(实参1,实参2,实参3)
obj即接收到的构造函数创建出来的对象
2.3.2.构造函数的注意事项
1.构造函数约定首字母大写。
2.函数内的属性和方法前面需要添加this,表示当前对象的属性和方法。
3.构造函数中不需要return返回结果。
4.当我们创建对象的时候,必须用new来调用构造函数。
2.3.3.其他补充
-- 构造函数,如Stars(),抽象了对象的公共部分,封装到了函数里面,它泛指某一大类(class)
-- 创建对象,如new Stars(),特指某一个,通过new关键字创建对象的过程,我们也称为对象的实例化。
-- new关键字的作用
1.在构造函数代码开始执行之前,创建一个空对象。
2.修改this指向,把this指向创建出来的空对象。
3.执行函数的代码。
4.在函数完成之后,返回创建出来的对象。
3.遍历对象
--for ... in 语句用于对数组或者对象的属性进行循环操作
for( 变量 in 对象名){
// 在此执行代码
}
语法中的变量是自定义的,他需要符合多次命名规范,通常我们会将这个变量写为 k 或者 key。
-- 举个🌰:
for(const k in obj){
console.log(k) //这里的k是对象的属性名
console.log(obj[k]) //这里的obj[k]是对象的属性值
}
-- for .. of,使用方法类似。