亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript 面向對象編程(2) 定義類

2024-05-06 14:09:58
字體:
來源:轉載
供稿:網友
本文承接上一篇JavaScript面向對象編程(1) 基礎。
上篇說過,JavaScript沒有類的概念,需要通過函數來實現類的定義。先通過一個例子說明:
代碼如下:
function myClass()
{
var id = 1;
var name = "johnson";
//properties
this.ID = id;
this.Name = name;
//method
this.showMessage = function()
{
alert("ID: " + this.ID + ", Name: " + this.Name);
}
}
var obj1 = new myClass();
var obj2 = new myClass();

function的定義實際上相當于類的構造函數,最后兩句是創建這個類的實例。先分析第一句:var obj1 = new myClass(); 當用new創建類的實例時,解釋器首先會創建一個空的對象。然后運行這個myClass函數,并將this指針指向這個類的實例。當碰到this.ID = id;和this.Name = name;及this.showMessage = function(){...}時,便會創建這兩個屬性,和這個方法,并把變量id,name的值一級函數的定義賦給這兩個屬性及這個函數對象(shwoMessage)。這個過程相當于初始化這個對象,類似于C# 中的構造函數。最后new返回這個對象。再看第二句:var obj2 = new myClass(); 執行過程與上一句代碼相同,即創建一個空對象,然后執行myClass這個函數,定義兩個屬性和一個方法。
從上面的分析中可以看到,上面這種實現類的方式,即在函數的定義中定義類的屬性方法。存在著弊端。如果需要創建兩個或更多這個類的實例時,上文是兩個,這些屬性會被重復的創建多次。
那么如何避免這種情況呢?上一篇中也曾提到過用prototype。prototype和它的名字一樣是一個原型,每一個function都有一個子對象prototype,它其實表示這個function對象的成員的集合,由于這里我們使用function實現類的,所以可以說prototype其實就是便是類的成員的集合。prototype定義的屬性和方法執行在函數的構造體執行之前,所以當new一個對象之前,其實prototype的成員已經執行過了。先看一個例子:
代碼如下:
function myClass()
{
//構造函數
}
myClass.prototype =
{
ID: 1,
Name: "johnson",
showMessage: function()
{
alert("ID: " + this.ID + ", Name: " + this.Name);
}
}
var obj1 = new myClass();
var obj2 = new myClass();

類的結構還是和前面的例子相同,只不過這里是利用了prototype來實現。還是先看最后兩句,前面說過,prototype是執行在函數構造體之前,即執行到var obj1 = new myClass();之前,這個類已經有了ID,Name屬性和showMessage方法。執行者一句時執行過程如下,注意和前一個例子比較:首先還是創建一個空的對象,并把this指針指向這個對象。然后將函數的prototype對象的所有成員都賦給這個對象(注意沒有再創建這些成員)。然后執行函數體。最后new返回這個對象。執行下一句時:同樣執行此過程,不會重復創建這些成員。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜视频一区二区| 亚洲成人av在线| 国产日韩欧美中文在线播放| 欧美精品激情在线观看| 97超级碰碰碰久久久| 色综合91久久精品中文字幕| 国产精品一区电影| 亚洲欧美国产精品专区久久| 亚洲成人av片在线观看| 超在线视频97| 日韩免费中文字幕| 国产精品中文在线| 精品久久久久久久久国产字幕| 国产成人免费av电影| 欧美电影在线播放| 欧美极品欧美精品欧美视频| 韩国国内大量揄拍精品视频| 亚洲一区二区三区在线免费观看| 国产精品一区二区三区毛片淫片| 日韩精品高清视频| 日韩成人av在线播放| 日韩高清欧美高清| 自拍亚洲一区欧美另类| 日本精品性网站在线观看| 国产成人综合精品| 欧美精品在线看| 亚洲国产欧美一区二区三区久久| 亚洲高清av在线| 亚洲国产精品成人va在线观看| 久久五月天色综合| 91精品久久久久久久久久久久久| 奇米4444一区二区三区| 久久久成人精品| 亚洲欧洲在线免费| 久久免费成人精品视频| 欧美视频在线免费| 亚洲欧美精品一区二区| 夜色77av精品影院| 国产精品扒开腿做爽爽爽视频| 欧美性xxxx极品hd欧美风情| 亚洲成人精品视频在线观看| 欧美巨猛xxxx猛交黑人97人| 欧美成人精品一区二区| 欧美裸体视频网站| 91精品国产成人| 欧美大人香蕉在线| 国产欧美一区二区三区视频| 国产精品v日韩精品| 亚洲一二三在线| 亚洲在线一区二区| 91久久久久久久久久久| 清纯唯美日韩制服另类| 亚洲在线免费看| 77777少妇光屁股久久一区| 久久久久久av| 大桥未久av一区二区三区| 亚洲精品99久久久久中文字幕| 欧美激情在线一区| 日韩亚洲成人av在线| 韩国一区二区电影| 亚洲欧洲国产伦综合| 国产成人精品免费视频| 久久久久久12| 91精品国产乱码久久久久久久久| 久久影院中文字幕| 欧美日韩中文字幕在线| 成人性生交大片免费看小说| 欧美大码xxxx| 97久久精品人搡人人玩| 国产一区二区三区毛片| 91午夜在线播放| 亚洲第一精品夜夜躁人人躁| 精品偷拍一区二区三区在线看| 亚洲国产精品电影在线观看| www日韩中文字幕在线看| 美女久久久久久久久久久| 日韩三级影视基地| 久久久久亚洲精品成人网小说| 91久久久久久久久久久| 欧美激情免费在线| 欧美视频二区36p| 亚洲国产成人av在线| 亚洲欧美福利视频| 欧美成aaa人片在线观看蜜臀| 国产午夜精品免费一区二区三区| 久久久久国产精品免费| 亚洲国产精品久久久| 久久天天躁狠狠躁夜夜躁| 国产精品嫩草影院久久久| 亚洲3p在线观看| 国产玖玖精品视频| 性欧美在线看片a免费观看| 欧美性xxxx极品高清hd直播| 岛国视频午夜一区免费在线观看| 国产精品美女久久久久久免费| 欧美亚洲另类制服自拍| 国产做受高潮69| 欧美激情极品视频| 亚洲欧美国产精品专区久久| 成人性生交大片免费看小说| 国产精品美女久久久免费| 久久久精品网站| 久久在线观看视频| 欧美黑人性视频| 国产一区二区三区网站| 亚洲欧美在线免费| 国产精品日韩久久久久| 国产成人在线亚洲欧美| 黑人极品videos精品欧美裸| 精品久久香蕉国产线看观看亚洲| 日韩在线观看免费网站| 精品久久久久人成| 成人午夜在线观看| 国产精品久久久久久久久久| 国产成人一区二区| 亚洲国产精品va在线看黑人动漫| 久久综合伊人77777尤物| 欧美限制级电影在线观看| 日本高清视频一区| 久久久国产精彩视频美女艺术照福利| 欧美日韩精品在线视频| 国产精品吹潮在线观看| 青青久久av北条麻妃黑人| 国产精品v片在线观看不卡| 久久综合伊人77777尤物| 久久激情视频免费观看| 亚洲男人天天操| 欧美床上激情在线观看| 热门国产精品亚洲第一区在线| 亚洲视频精品在线| 91影视免费在线观看| 2019国产精品自在线拍国产不卡| 久久人人爽亚洲精品天堂| 68精品久久久久久欧美| 91久久国产综合久久91精品网站| 久久人人看视频| 亚洲自拍欧美色图| 亚洲iv一区二区三区| 琪琪亚洲精品午夜在线| 色噜噜狠狠狠综合曰曰曰| 成人夜晚看av| 日韩激情片免费| 国产香蕉精品视频一区二区三区| 国产欧美日韩高清| 国产在线高清精品| 亚洲欧美制服丝袜| 26uuu另类亚洲欧美日本老年| 亚洲国产精品va在看黑人| 日韩欧亚中文在线| 欧美亚洲成人精品| 九九精品在线观看| 国产精品极品美女在线观看免费| 欧美精品福利视频| 欧美激情手机在线视频| 亚洲free嫩bbb| 国产日韩在线看| 日韩在线视频观看| 日韩国产激情在线| www.日韩欧美| 欧美精品久久久久久久| 国内精品久久久久久中文字幕| 欧洲成人在线观看| 青草青草久热精品视频在线网站| 欧美日韩精品中文字幕|