1、
工厂方式:创建能创建并返回特定类型的工厂函数creator:
如:
function createCar(sColor,iDoors,iMpg){
var oTempCar = new Object();
oTmepCar.color = sColor;
oTmepCar.doors= iDoors;
oTmepCar.mpg= iMpg;
oTmepCar.showColor = funtion (){
alert (this.color);
};
return oTempCar;
}
var oCar1 = createCar('red',4,23);
var oCar1 = createCar('blue',3,25);
oCar1.showColor();
oCar2.showColor();
2、
构造函数方式:创建一个构造函数(构造函数的首字母大写)
如:
function Car(sColor,iDoors,iMpg){
this.color = sColor;
this.doors= iDoors;
this.mpg= iMpg;
this.showColor = function (){
alert(this.color);
}
}
var oCar1 = new Car('red',3,25);
var oCar2 = new Car('blue',5,25);
注:以上两种方式在创建对象时,对于可以共享的showColor()方法均进行了创建,也即有多少个对象便创建了多少个方法;
3、
原型方式:该方式利用了对象的prototype属性,可以把它看成是创建新对象所依赖的原型。这种可以削除了上述不足,但是它只能在对象创建完成之后才能更改对象的属性,并且由于所创建的对象中的属性对于对象的引用,使得改变其中一个由对象创建的属性,其它的由此方法创建的对象的属性也会发生改变。如下例中的drivers,是Array对象的引用,所以当oCar1的drivers改变时,oCar2的drivers也会发生改变;
如:
function Car(){}
Car.prototype.color = 'red';
Car.prototype.doors = '4';
Car.prototype.mpg = '25';
Car.prototype.drivers = new Array('a','b');
Car.prototype.showColor = function (){
alert(this.color);
};
var oCar1 = new Car();
var oCar2 = new Car();
4、
混合的构造函数/原型方式:该方法结合了构造函数和原型方式的优点;
如:
function Car(sColor,iDoors,iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array('a','b');
}
Car.prototype.showColor = function (){
alert(this.color);
}
var oCar1 = new Car('red',3,25);
var oCar2 = new Car('blue',5,25);
5、
动态原型方法(推荐方法):该方法通过检测对象否已经被创建决定是否创建相应函数。
如:
function Car(sColor,iDoors,iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array('a','b');
if(typeof Car._initialized == "undefined"){
Car.prototype.showColor = function (){
alert(this.color);
}
Car._initialized = true;
}
}
分享到:
相关推荐
本文详细讲解如何在js中创建类和对象,包括各种创建对象的方法,以及各种方法的优略
js对象创建,事件委托测试,this apply call
el.js, 本机javascript类和创建dom对象的方法 el.js用于创建元素的简单Javascript库,不需要其他库示例:元素的创建创建一个没有属性的简单元素el('div')=> <div></div>一些vanity方
文章《javascript对象创建--类、继承》源码
NULL 博文链接:https://redhacker.iteye.com/blog/1457293
JS组件dtree轻松实现树型菜单。详细的操作过程.
JavaScript深入之创建对象的多种方式以及优缺点 js new一个对象的过程,实现一个简单的new方法 (一)类的创建 1. 工厂模式 function createPerson(name){ //原料: var obj=new Object(); //加工: obj.name=name...
使用预定义对象只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自己专用的类和对象。
比较有用的UUID,工具类,Js文件创建主键
本文实例讲述了javascript元素动态创建实现方法。分享给大家供大家参考。具体分析如下: [removed]只能在页面加载过程中才能动态创建 可以调用document的createElement方法来创建具有指定标签的DOM对象,然后通过调用...
javascript 写类方式,介绍创建javascript类的八种方式
类:练习创建Javascript类
用于使用JavaScript创建glTF 2.0模型的帮助程序库。 用法 从头开始创建glTF 使用提供的类型创建GLTFAsset结构。 import { GLTFAsset , Scene , Node , Material , Texture , Mesh , Vertex , WrappingMode } ...
笔者历经多年javascript的开发,痛彻体会javascript面向对象编程的不便性,精心制作了一个类的定义与继承功能的js,实现了在javascript中对类的定义、继承、封装机制,主要功能特征包括: 一、 统一了类定义的语法...
JAVA匿名类创建对象.doc
JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的,下面与大家分享下创建类/对象的几种方式,感兴趣的朋友可以了解下哈
在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的。 JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种...
这些示例展示了如何使用ArcGIS JavaScript API的各种功能。每个示例页包含一个在线的演示,示例里做了什么的描述和源代码。查看视频展示如何拷贝示例代码并在机器上运行。 这些示例使用一颗星,两颗星或三颗星对...
java创建类和类的引用文档.doc
一个通过 JavaScript 以编程方式使用 CSS 在 DOM 元素上创建交错转换的类。 感谢 。 用法 下载并将其包含在您的 html 中。 < script src =" build/transition.min.js " > </ script > 这是样板 html...