1.概述
在ES6之前,对象不是基于类创建的,而是一种称为构造函数的特殊函数来定义对象和它们的特征。
创建对象可以通过一下三种方式:
- 对象字面量
- new Object()
- 自定义构造函数
2.构造函数
- 构造函数是一种特殊的函数,主要是用来初始化对象,即为对象成员变量赋值初始值,它总与new一起使用,我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。
在JS中,使用构造函数时要注意以下两点:
- 构造函数用于创建某一类对象,其首字母要大写
- 构造函数要和new一起使用才会有意义
new在执行时会做四件事情:
- 在内存中创建一个新的空对象。
- 让this指向这个新对象。
- 指向构造函数里面的代码,给这个新的对象添加属性和方法。
- 返回这个新对象(所以构造函数里面不需要return)。
<srcipt>
//1.利用 new Object()创建对象
var obj1 = new Object();
//2.利用 对象字面量创建对象
var Obj2 = {}
//3.利用构造函数创建对象
function Star(uname,age){
this.uname = uname;
this.age = age;
//公共的方法 sing是方法
this.sing = function(){
console.log("我会唱歌")
}
}
//利用上面的构造函数来创建实例化对象
//可以创建多个实例化对象
//实例化对象可以使用构造函数里面的属性和方法
var ldh = new Star('刘德华',20)
var zxy = new Star('张学友',22)
//使用的时候可以调用,就可以直接使用了
ldh.sing();
zxy.sing();
</srcipt>
运行结果如下: