首先,我们得明白什么是构造函数和对象实例?
构造函数主要是一种用于生成对象的饼干模具,这些对象具有默认属性和属性方法,它可以创建多个共享特定特性和行为的对象。
构造函数只是一个函数,但当函数遇到了new,就发生了一些微妙的关系,它会将该函数的this值设置为正在构建的新对象,并且默认返回新创建的对象。
什么是对象实例?
在js中,大多数值(不包括原始值)都涉及正在被创建的对象,或者是从构造函数实例化的对象。构造函数返回的对象被称为实例。
举个例子:
var Person = function Person(living,age,gender) { this.living = living; //this表示即将创建的新对象,即(this = new Object();) this.age = age; this.gender = gender; this.getGender = function(){return this.gender;}; }; var yangnan = new Person(true,20,"woman"); //实例化Person对象 console.log(yangnan); console.log(typeof yangnan); console.log(yangnan.constructor);
控制台结果输出如下: