对象: 可以让代码结构更清晰
是复杂数据类型object
对象的本质:是一组无序的相关属性和方法的集合
1.字面量创建对象 (var obj = {};) ↓
即 花括号{} 里面包含了表达这个具体事物(对象)的属性和方法。
遍历对象↓
for..in 语句 用于对数组或者对象的属性进行循环操作 (建议对象进行遍历)
for (变量 in 对象){
}
2.new Object 创建对象
3.利用构造函数创建对象
函数:就是封装了一段 可被重复调用执行的代码块 ,通过此代码块可以实现大量代码的重复使用.
构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋值初始值,其总与new运算符一起使用。(可以将对象中一些公共的属性和方法抽取出来,封装到该函数里)
3.1为什么使用构造函数?
- 即 前两种方法一次只能创建一个对象,里面很多属性和方法是大量相同的,所以可以利用函数(构造函数)的方法去重复相同的代码。
- 又因为该函数不一样,其里面封装的不是普通代码,而是 对象 。
function 构造函数名(){
this.属性 = 值;
this.方法= function(){
}
}
var xxx(对象/实例) = new 构造函数名();
遍历对象↓
3.2构造函数注意点
- 构造函数名字首字母要大写
- 构造函数不需要 return 就可以返回结果
- 调用构造函数 必须使用 new
3.3构造函数与对象的区别
构造函数:泛指的某一大类
对象:(特指)是一个具体的事物
!利用构造函数创建对象的过程也成为对象的实例化
3.4new关键字执行过程
- new 构造函数 可以在内存中创建了一个空的对象
- this 就会指向刚才创建的空对象
- 执行构造函数里面的代码 给其空对象添加属性和方法
- 返回这个对象 (所以不需return)