6、寄生构造函数模式
基本思想是创建一个函数,该函数的作用仅仅是封装创建对象的代码,然后再返回新创建的对象;但从表面上看,这个函数又很像是典型的构造函数。
function Person (firstname, lastname) {
var o = new Object ();
o.firstname = firstname;
o.lastname = lastname;
o.sayName = function sayName () {
console.log(this.firstname + ' ' + this.lastname);
};
return o;
}
var cap = new Person('Captain', 'Flag');
工厂模式 + 构造函数(除了使用 new 操作符并把使用的包装函数叫做构造函数之外,这个模式跟工厂模式其实是一模一样的。)
构造函数在不返回值的情况下,默认会返回新对象实例。而通过在构造函数的末尾添加一个 return 语句,可以重写调用构造函数时返回的值。