javascript 類(lèi)定義的4種方法
更新時(shí)間:2009年09月12日 21:51:47 作者:
javascript 類(lèi)定義的4種方法,大家可以參考下根據(jù)需要選擇。
復(fù)制代碼 代碼如下:
/*
工廠方式--- 創(chuàng)建并返回特定類(lèi)型的對(duì)象的 工廠函數(shù) ( 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;
}
/*
構(gòu)造函數(shù)方式--- 構(gòu)造函數(shù)看起來(lái)很像工廠函數(shù)
*/
function Car(color,doors,mpg){
this.color = color;
this.doors = doors;
this.mpg = mpg;
this.showCar = function(){
alert(this.color);
};
}
/*
原型方式--- 利用了對(duì)象的 prototype 屬性,可把它看成創(chuàng)建新對(duì)象所依賴(lài)的原型
*/
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);
};
/*
混合的構(gòu)造函數(shù) /原型方式--- 用構(gòu)造函數(shù)定義對(duì)象的所有非函數(shù)屬性,用原型方式定義對(duì)象的函數(shù)屬性(方法)
*/
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);
};
/*
動(dòng)態(tài)原型方法--- 在構(gòu)造函數(shù)內(nèi)定義非函數(shù)屬性,而函數(shù)屬性則利用原型屬性定義。唯一的區(qū)別是賦予對(duì)象方法的位置。
*/
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;
}
} //該方法使用標(biāo)志( _initialized )來(lái)判斷是否已給原型賦予了任何方法。
您可能感興趣的文章:
- 淺談幾種常用的JS類(lèi)定義方法
- js類(lèi)定義函數(shù)時(shí)用prototype與不用的區(qū)別示例介紹
- Javascript類(lèi)定義語(yǔ)法,私有成員、受保護(hù)成員、靜態(tài)成員等介紹
- 一個(gè)簡(jiǎn)單的javascript類(lèi)定義例子
- JS類(lèi)定義原型方法的兩種實(shí)現(xiàn)的區(qū)別評(píng)論很多
- JS中類(lèi)或?qū)ο蟮亩x說(shuō)明
- JavaScript定義類(lèi)或函數(shù)的幾種方式小結(jié)
- JS類(lèi)中定義原型方法的兩種實(shí)現(xiàn)的區(qū)別
- 關(guān)于js類(lèi)的定義
- JS類(lèi)的定義與使用方法深入探索
相關(guān)文章
用JavaScript實(shí)現(xiàn)單繼承和多繼承的簡(jiǎn)單方法
JavaScript是一種強(qiáng)大的多泛型編程語(yǔ)言,其融合了面向過(guò)程、面向?qū)ο蠛秃瘮?shù)式編程于一身,具備強(qiáng)大的表現(xiàn)能力。2009-03-03
不錯(cuò)的JavaScript面向?qū)ο蟮暮?jiǎn)單入門(mén)介紹
JavaScript是一門(mén)OOP,而有些人說(shuō),JavaScript是基于對(duì)象的。2008-07-07
Javascript面向?qū)ο缶幊蹋ǘ?構(gòu)造函數(shù)的繼承
這個(gè)系列的第一部分,主要介紹了如何"封裝"數(shù)據(jù)和方法,以及如何從原型對(duì)象生成實(shí)例。2011-08-08
JS 創(chuàng)建對(duì)象(常見(jiàn)的幾種方法)
方便學(xué)習(xí)js類(lèi)的朋友,讓你快速的掌握js類(lèi)的定義方法,方法有很多種,結(jié)果都一樣。大家可以根據(jù)自己的愛(ài)好選用。2008-11-11
js定義對(duì)象簡(jiǎn)單學(xué)習(xí)例子
js定義對(duì)象簡(jiǎn)單學(xué)習(xí)例子...2007-09-09
編寫(xiě)可維護(hù)面向?qū)ο蟮腏avaScript代碼[翻譯]
編寫(xiě)可維護(hù)面向?qū)ο蟮腏avaScript代碼[翻譯],學(xué)習(xí)js面向?qū)ο缶帉?xiě)的朋友可以參考下。2011-02-02
JavaScript面向?qū)ο笤O(shè)計(jì)二 構(gòu)造函數(shù)模式
在Javascript面向?qū)ο笤O(shè)計(jì)一——工廠模式 中介紹了使用CreateEmployee()函數(shù)創(chuàng)建員工類(lèi)。ECMAScript中的構(gòu)造函數(shù)可以用來(lái)創(chuàng)建特定類(lèi)型的對(duì)象,如Object和Array這樣的原生構(gòu)造函數(shù),在運(yùn)行時(shí)會(huì)自動(dòng)出現(xiàn)在執(zhí)行環(huán)境中,此外也可以創(chuàng)建自定義的構(gòu)造函數(shù),從而創(chuàng)建自定義對(duì)象類(lèi)型的屬性和方法2011-12-12
Javascript面向?qū)ο髷U(kuò)展庫(kù)代碼分享
最近一直在用js做項(xiàng)目,遇到了許多需要應(yīng)用面向?qū)ο髞?lái)設(shè)計(jì)的功能,由于js對(duì)OOP的原生支持還不是很完善,所以就寫(xiě)了一個(gè)面向?qū)ο蟮臄U(kuò)展庫(kù)用做底層支持,現(xiàn)在把它單獨(dú)整理出來(lái),完善了一些功能,在這里分享一下2012-03-03

