色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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技術javascript 類定義的4種方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 潞西市| 长春市| 汉寿县| 自治县| 即墨市| 东海县| 乃东县| 铁岭县| 嘉黎县| 瑞昌市| 雷波县| 湖南省| 涡阳县| 临汾市| 温泉县| 全州县| 临漳县| 万盛区| 盐边县| 和政县| 南汇区| 大丰市| 辉南县| 梅河口市| 秭归县| 津市市| 丹棱县| 瓦房店市| 太保市| 清苑县| 军事| 万源市| 依安县| 灌阳县| 大同县| 灵璧县| 鹰潭市| 定襄县| 富锦市| 马鞍山市| 乐清市|