1.工厂模式 (调用函数 返回对象)
function stu(){
var s=new Object();
s.name="花花";
return s;
}
stu();
//工厂模式实现方式简单,通过封装方法解决了创建多个相似对象的问题,但缺点是无法识别对象的类型。
2.构造函数模式
function student(){
this.name="张三";
this.sex="男";
this.eat=function(){
return this.name+"吃肉";
}
}
student.prototype.sleep=function(){
return this.name+"睡觉";
}
var s=new student();
//构造函数方式
//建议首字母大写,new创建,并且无需手动return。
//new操作符调用构造函数时,内部产生的变化:
// 1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型
// 2、属性和方法被加入到 this 引用的对象中
// 3、新创建的对象由 this 所引用,并且最后隐式的返回 this
代码段中还涉及到了prototype。
Javascript中规定,每一个函数都有一个prototype对象属性,指向另一个对象(原型链)。
prototype可以让所有对象实例共享它所包含的属性和方法。也就是说,不必在构造函数中定义对象信息,而是可以直接将这些信息添加到原型中。