`

javascript 类定义4种方法

阅读更多
/*
   工厂方式--- 创建并返回特定类型的对象的 工厂函数 ( factory function ) 
*/
 

function createCar(color,doors,mpg){
	var tempCar = new Object;
	tempCar.color = color;
	tempCar.doors = doors;
	tempCar.mpg = mpg;
	tempCar.showCar = function(){
		alert(this.color + " " + this.doors);
	}
	return tempCar;
} 

/*
   构造函数方式--- 构造函数看起来很像工厂函数 
*/
function Car(color,doors,mpg){
	this.color = color;
	this.doors = doors;
	this.mpg = mpg;
	this.showCar = function(){
		alert(this.color);
	};
}  
/*
   原型方式--- 利用了对象的 prototype 属性,可把它看成创建新对象所依赖的原型 
*/
function Car(color,doors,mpg){
	this.color = color;
	this.doors = doors;
	this.mpg = mpg;
	this.drivers = new Array("nomad","angel");
}

Car.prototype.showCar3 = function(){
	alert(this.color);
}; 

/*
   混合的构造函数 /原型方式--- 用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法) 
*/
function Car(sColor, iDoors, iMpg) {
    this.color = sColor;
    this.doors = iDoors;
    this.mpg = iMpg;
    this.drivers = new Array("Mike", "Sue");
}

Car.prototype.showColor = function () {
    alert(this.color);
};  
/*
    动态原型方法--- 在构造函数内定义非函数属性,而函数属性则利用原型属性定义。唯一的区别是赋予对象方法的位置。 
*/
function Car(sColor, iDoors, iMpg) {
    this.color = sColor;
    this.doors = iDoors;
    this.mpg = iMpg;
    this.drivers = new Array("Mike", "Sue");

    if (typeof Car._initialized == "undefined") {

        Car.prototype.showColor = function () {
            alert(this.color);
        };

        Car._initialized = true;
    }
} //该方法使用标志( _initialized )来判断是否已给原型赋予了任何方法。 


分享到:
评论

相关推荐

    javascript 类定义的4种方法

    以下是四种常用的 JavaScript 类定义方法: 1. **工厂函数方式**: 工厂函数是一种创建对象的方法,它通过函数返回一个具有特定属性和方法的对象。在提供的示例中,`createCar` 就是一个工厂函数,它接收参数,...

    JavaScript定义类的几种方式总结

    JavaScript定义类的几种方式包括工厂方式、构造函数和原型方式,每种方法都有其特点和适用场景,接下来我们将详细探讨。 工厂方式是最早期的面向对象编程在JavaScript中的实践之一。使用工厂方式定义类,本质上就是...

    Javascript定义类(class)的三种方法详解

    本文将详细解释三种在JavaScript中定义类的方法:构造函数法、Object.create()法以及极简主义法。 1. 构造函数法 构造函数法是最常见的模拟类的方式,通过使用函数作为类的模板。构造函数通常以大写字母开头,表示...

    JavaScript定义类或函数的几种方式小结

    JavaScript是一种基于原型的面向对象语言,其类和对象的定义方式与传统面向对象的语言(如Java或C++)有所不同。 JavaScript中定义类或函数,主要有以下几种方式: 1. 工厂方式 工厂方式是JavaScript中创建对象的...

    javascript中定义类的方法汇总

    在JavaScript中,定义类的方法多种多样,这使得开发者可以根据需求选择最合适的方式来创建对象。以下是几种主要的方法: 1. **工厂方式**: 工厂模式是一种创建对象的模式,通过函数来模拟类的概念。在JavaScript...

    Javascript对象定义的几种方式

    Javascript对象定义的几种方式

    JavaScript定义类和对象的方法

    在JavaScript中定义类和对象的方法大致可以分为两类,一种是使用函数方式定义,另一种是先实例化Object类的方式定义。下面详细介绍这两种方法的实现和使用。 首先,函数方式定义类是最直观和常用的方法,它基于函数...

    JavaScript中定义对象原型的两种使用方法

    本文将深入探讨两种常见的定义对象原型的方法:通过`prototype`属性和通过对象字面量。 ### 第一种方法:使用`prototype`属性 ```javascript function Person() { this.username = new Array(); this.password =...

    javascript 类方法定义还是有点区别

    JavaScript 是一种广泛应用于 Web 开发的动态编程语言,它的灵活性使得开发者有多种方式来定义和使用函数,包括作为类方法。在 JavaScript 中,类的概念是通过原型链和构造函数模拟实现的,而不是像其他面向对象语言...

    JAVASCRIPT中定义对象的几种方式.pdf

    了解了JavaScript中定义对象的几种方式之后,我们可以根据实际的应用场景和需求选择最合适的方法。例如,对于简单对象的创建,对象字面量最为合适;对于复杂对象,如需继承或有明确构造逻辑时,构造函数或类则更为...

    如何用JavaScript定义一个类

    这段代码定义了一个`Dog`类,`constructor`方法是默认的构造函数,`makeNoise`是实例方法,而`getPrivate`展示了如何在类中定义私有属性的方法。虽然在类中定义的方法不能直接访问类外的`private`变量,但在实际应用...

    javascript面向对象之定义成员方法实例分析.docx

    JavaScript 是一种支持面向对象编程的语言,尽管它的面向对象特性与传统类基于的语言有所不同。在 JavaScript 中,可以通过多种方式来定义对象及其成员方法。本文将深入探讨如何在 JavaScript 面向对象编程中定义...

    aspnet操作javascript类

    4. **与ASP.NET交互**:在ASP.NET中,我们经常需要在JavaScript中调用服务器端的方法。这可以通过AJAX请求实现,例如使用jQuery的$.ajax方法或ASP.NET AJAX的UpdatePanel。同时,服务器端可以通过Response.Write或...

    JavaScript对象定义

    JavaScript是一种基于原型的对象导向语言,它的对象定义方式具有独特的灵活性。在本文中,我们将深入探讨JavaScript对象的定义、创建方法以及相关的工具和技术。 首先,我们要了解JavaScript对象的本质。对象是由...

    JavaScript中定义函数的三种方法

    本文将介绍JavaScript中定义函数的三种主要方法,并通过示例代码进行解释说明。此外,本文还会对构造函数进行简要的探讨,帮助读者理解构造函数在JavaScript中的作用和使用。 首先,JavaScript中定义函数的三种方法...

Global site tag (gtag.js) - Google Analytics