1:在一个函数里面创建一个对象
2:给这个函数创建属性和方法
3:return返回对象
4:把函数赋值给一个变量,那么这个变量就拥有了函数的属性和方法
5:调用
举例:
function person(name,age){
var o=new Object();
o.name=name;
o.age=age;
o.f=function(){
alert(this.name+this.age)
}
return o;
}
var o1=new person('tom',12) ;
var o2=new person('jack',14)
o1.f();
o2.f();
8:工厂模式的优点:
解决了同一个接口创建很多对象,会产生大量重复的代码的问题
9:当函数被关键字 new 以后,那么这个函数就变成了对象,对象就可以共享自己的方法和属性!
10:实例化和类,对象的概念
function a(){
}
var o=new a();
对象:函数被关键字 new 以后就变成了对象
类:函数被关键字new完以后这个整体(new a())被称之为类
类的作用就是一个模具,通过这个模具可以复制很多对象。
实例化:函数被关键字 new完以后,赋值给一个变量的过程叫实例化 var o=new a();
变量被实例化后,就拥有了函数对象里面的属性和方法。
11:构造函数写法:
举例:
function Peop(name,age){
this.name=name;
this.age=age;
this.fun=function(){
alert(this.name+this.age);
alert(this)
}
}
var p1=new Peop('老栗',18)
var p2=new Peop('小李',118)
p1.fun();
p2.fun();
12: 工厂模式和构造函数的区别?
1:工厂模式的函数里面要创建一个对象,构造函数没有
2:工厂模式的函数里面要用return 返回,构造函数没有
3:工厂模式的函数赋值给变量的时候不用new 关键字,构造函数有 new
4: 工厂模式的函数不需this ,构造函数有this
5:构造函数的函数名首字母需要大写,工厂不需要
13:读取属性的方式:
举例:
var o={
name:'老栗',
age:18,
}
alert(o.name)
alert(o['age'])