本文的主要内容是从Javascript高级程序设计、面向对象和原型章节入手:

1。工厂模式

脚本可以通过工厂模式创建对象:


工厂模型
函数CreateObject(姓名,年龄){
var obj =新(对象); / /创建对象
obj.name =名称; / /添加属性
obj.age =年龄;
(obj.run =功能){ / /添加
返回this.name + this.age +运行…;
};
返回对象; / /返回对象引用
};
var obj1 = CreateObject('lee ',100); / /创建第一个对象
var obj2 = CreateObject(杰克',200); / /创建第二对象
/ /警报((obj1。运行)); / /打印第一个对象实例(运行方式)
/ /警报(obj2。运行)(二); / /打印对象实例运行()方法

/ /警报(typeof obj1);
/ /警报(typeof obj2);
警报(obj1实例对象); / /真的
警报(obj2实例对象); / /真的




工厂模式创建的对象解决了重复实例化的问题,但对象识别问题无法解决(所有对象都是对象)。因此,为了解决对象识别问题,我们使用以下构造函数。

2、构造函数


创建构造函数
函数人(名字,年龄){构造函数所有对象都是对象
这个名字=名字;
这个年龄=年龄;
这个函数= {函数(){
返回这个名字+这个;
};
};
VaR甲=新的人('zhu1 ',100);
var 2 =新的人('zhu2 ',200);
警报(person1.run());
警报(person2.run());

警报(甲实例对象); / /真的
警报(类型2); / /人
警报(2是人); / /真的
无功person3 =新的对象();
person.call(person3,'zhu3 ',300); / /对象的提出,person3是对象类型,冒充的人型
警报(person3.run());




构造函数中的这个是当前作用域对象的引用。如果全局范围代表窗口对象,如果它在构造函数中,则它表示当前构造函数声明的对象。

构造函数方法解决了重复实例化问题,解决了对象识别问题。

1。构造函数方法不显示创建对象(新对象());

2。将属性和方法值直接赋值给;

三.没有返回语句;

4。但是必须使用新操作符来创建构造函数;

以上是本文的全部内容,希望大家能喜欢。