在讲到new关键字的执行过程之前,有几个关于构造函数和对象之间的关系和构造函数的特点需要重点掌握:
1.构造函数和对象的关系和区别:
- 构造函数:构造函数抽象了对象的公共的属性和方法,封装到了函数里面,它泛指的是某一大类;
- 对象:通过new函数创建对象,也称为对象借助构造函数完成的对象实例化。
2.关于构造函数的返回值return:
- 构造函数默认返回new创建的实例对象。
- 在构造函数里面,如果写了return的话:
- return一个基本数据类型,构造函数依然返回创建的实例对象;
- return Object则返回此对象。原本的指向实例对象的this将会无效化。
3.new关键字的执行过程:
//构造函数首字母大写
function Student(name, sex, age) {
this.name = name;
this.sex = sex;
this.age = age;
this.read = function (study) {
alert('我们正在通过阅读学习' + study + '知识!');
}
}
//调用函数返回的tsieo是Object类型(typeof)
var tsieo = new Student('湘舒', '女', 25);//属性为赋值操作
tsieo.read('构造函数创建对象');
console.log(tsieo);
- 在内存中创造一个新的空对象tsieo;
- 让this指针指向tsieo对象;
- 利用构造函数初始化tsieo对象,给她添加属性(name,sex,age)和方法(read);
- 返回这个新的对象tsieo。
以上为构造函数创建对象中关键内容的详解,语言的执行过程中蕴藏着星星的海洋,等着你我去探索,感谢相遇~