一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

javascript 寫(xiě)類(lèi)方式之六

6、Prototype.js的寫(xiě)類(lèi)方式
復(fù)制代碼 代碼如下:
//prototype.js中的代碼
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
//簡(jiǎn)化后的
function Clazz() {
return function(){
this.initialize.apply(this,arguments);
}
}

如下步驟寫(xiě)一個(gè)類(lèi),
復(fù)制代碼 代碼如下:
//類(lèi)名Person
var Person = Class.create();

//通過(guò)原型重寫(xiě)來(lái)定義Person
Person.prototype = {
initialize : function(name) {
this.name = name;
},
getName : function() {
return this.name;
},
setName : function(name) {
this.name = name;
}
}

//創(chuàng)建對(duì)象
var p = new Person("jack");
console.log(p.constructor == Person);//false

initialize完成對(duì)象的初始化(相當(dāng)于構(gòu)造函數(shù)),方法依次往下寫(xiě)即可。



有個(gè)問(wèn)題,通過(guò)這句p.constructor == Person為false可以看到,這正是Prototype.js一個(gè)小小的缺陷。原因是重寫(xiě)了Person的原型。為了使constructor能指向正確的構(gòu)造器,只需在原型重寫(xiě)時(shí)維護(hù)好constructor屬性即可。
復(fù)制代碼 代碼如下:
Person.prototype = {
constructor : Person,//注意這里
initialize : function(name) {
this.name = name;
},
getName : function() {
return this.name;
},
setName : function(name) {
this.name = name;
}
}

好了,這時(shí)候p.constructor == Person就是true了。

JavaScript技術(shù)javascript 寫(xiě)類(lèi)方式之六,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 色图片小说 | 黄色激情视频在线观看 | 伊人激情综合网 | 国产中文在线 | 久久精品视频一区 | 99成人精品 | 欧美成成人免费 | 久久是精品| 成人亚洲网站 | 欧美a一级片| 国产精品白浆在线播放 | 巨大巨粗巨长的黑吊免费视频 | 国产亚洲欧洲国产综合一区 | a亚洲视频| 午夜精品免费 | 国内精品伊人久久大香线焦 | 伊人网大香 | 欧美人与禽交视频在线观看 | 狠狠做五月深爱婷婷天天综合 | 99精品国产成人一区二区 | 一区二区三区视频免费 | 丁香婷婷成人 | 日韩午夜免费 | 激情五月网站 | 成人午夜无人区一区二区 | 91尤物视频| 深爱五月婷婷 | 国产精品毛片一区二区三区 | 91国在线视频 | 国产日本一区二区三区 | 国产色网址| 五月激情丁香 | 巨大巨粗巨长 黑人长吊视频 | 色网站综合 | 国产精品永久免费视频观看 | 六月婷婷六月天 | 久久91综合国产91久久精品 | 国产青草| 伊人久久中文大香线蕉综合 | 欧美激情在线看 | 一级毛片一片毛 |