javascript编程模型构造器模式的实例分析
在经典的OOP语言中,构造函数(也称为构造函数)是初始化对象的特殊方法。
对象构造函数用于创建一个对象,它设置一个类型(类),并且可以接受初始化对象属性和方法的参数。
对象的建立
在js中,有三种常用的方法来构建对象:
1,建议使用
VaR newObject = { };
2,
VaR的新对象= object.create(空);
3,不推荐
VaR newObject =新的对象();
然而,这只是建立了三个空对象,没有属性或方法,我们可以通过以下四种方法为对象设置属性和方法。
3 / / ECMAscript兼容的方式
1。一般对象定义
设置属性
newobject.somekey =hello world;
获取属性
var关键字= newobject.somekey;
2。方括号的方式
设置属性
新对象{关键=hello world;
获取属性
VAR键= newObject {关键};
只为ECMAscript / / 5
三. / / object.defineproperty
设置属性
Object.defineProperty(
新对象,关键
{值:用于对属性的行为进行更多的控制
可写的:真的,
枚举:真,
配置:真
});
可以通过以下简化功能设置属性
无功defineprop =功能(obj,关键值){
config.value =价值;
object.defineproperty(obj,关键配置);
};
使用方法
无功的人= object.create(空);defineprop(人,车
defineprop(人,dateofbirth
defineprop(人,hasbeard
4。 / / object.defineproperties
设置属性
object.defineproperties(
新对象,
{关键:{价值:你好世界
一个:{价值:foo bar,可写:假}
});
方法3和4获得与1,2的属性。
基本的构造函数
我们知道js中没有类的概念,但它也支持用构造函数构建对象。
通过使用新关键字,我们可以使函数的行为类似于构造函数并建立自己的对象实例。
基本构造函数的形式如下所示:
功能车(型号,年,英里){
在这里,这指向了它们的新对象的建立。
方法=模型;
this.year =年;
this.miles =英里;
this.tostring =函数(){
回归方法+ 做了+ this.miles +英里;
};
}
使用
一辆两辆车的例子
思域=新汽车(本田思域)
Var Mondeo =新汽车(福特蒙迪欧
输出结果
console.log(civic.tostring());
console.log(mondeo.tostring());
这是简单的构造函数模式,它有两个主要问题。
首先,它是难以承受;二,toString()是由每个对象实例的定义,和作为一个函数,它应该被共享的汽车类型的每个实例。
使用原型构造函数
js中有一个很好的特性:原型{原型},
有了它,当一个对象被构建时,构造函数的原型中的所有属性都可以通过对象实例获得。
如此多的对象实例可以共享相同的原型。
我们改进前面的汽车示例如下:
功能车(型号,年,英里){
方法=模型;
this.year =年;
this.miles =英里;
}
(car.prototype.tostring =功能){
回归方法+ 做了+ this.miles +英里;
};
使用
思域=新汽车(本田思域)
Var Mondeo =新汽车(福特蒙迪欧
输出
console.log(civic.tostring());
console.log(mondeo.tostring());
在上面的例子中,toString()方法是通过多个对象实例共享汽车。
有关Javascript相关内容的更多内容可以查看站点:Javascript面向对象教程
希望本文能对javascript程序设计有所帮助。