最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

現(xiàn)代 javscript 編程 資料第2/6頁

 更新時間:2007年04月09日 00:00:00   作者:  

面向對象的JavaScript

  從語言的視角來看,面向對象的程序設計和面向對象的JavaScript語言絕對不是什么摩登的東西;JavaScript最開始就是被設計成一種徹底的面向對象語言。然而,隨著JavaScript在其使用和接受的過程中的“逐步發(fā)展”,其它語言(如Ruby,Python,和Perl等)的程序員留意到了它并開始將他們的編程模式引入了JavaScript。

  面向對象的JavaScript代碼的外觀和內部運作都有別于其它具有對象能力的語言。在第二章我將深入論述使它如此獨特的方方面面,而在這里,先來看一點基礎的東西以體會編寫現(xiàn)代JavaScript代碼的初步感覺。程序1-1中的兩個對象構造器的例子,演示了可用于學校課程的簡單的對象搭配。

程序1-1. 課程和課程表的面向對象JavaScript表述


//類Lecture的構造器
//使用兩個字符串參數(shù),name和teacher
function Lecture( name, teacher ) {
    //把它們作為對象的本地屬性保存
    this.name = name;
    this.teacher = teacher;
}

//類Lecture的方法,生成一個顯示該課程信息的字符串
Lecture.prototype.display = function(){
    return this.teacher + " is teaching " + this.name;
};

//類Schedule的構造器
//使用一個lectures類型的數(shù)組作為參數(shù)
function Schedule( lectures ) {
    this.lectures = lectures;
}

//類Schedule的方法,用來構造一個描述該課程表的字符串
Schedule.prototype.display = function(){
    var str = "";
    //遍歷每門課程,累加構成信息字符串
    for ( var i = 0; i < this.lectures.length; i++ )
        str += this.lectures[i].display() + " ";
    return str;
};


  從程序1-1的代碼中你或許已經看出,大部分的面向對象基本原則貫穿存在于其中,但它們是以不同于其它更常見的面向對象語言的方式組織起來的。你可以創(chuàng)建對象構造器和方法,并存取對象屬性。程序1-2展示了在應用程序中使用上面兩個類的一個示例。

程序1-2. 給用戶提供課程的列表


//創(chuàng)建一個新的課表對象,存于變量mySchedule中
var mySchedule = new Schedule([
    //創(chuàng)建一個課程對象的數(shù)組,
    //作為傳給課表(原文此處為Lecture,疑為筆誤)對象的唯一參數(shù)
    new Lecture( "Gym", "Mr. Smith" ),
    new Lecture( "Math", "Mrs. Jones" ),
    new Lecture( "English", "TBD" )
]);

// 彈出對話框顯示課表的信息
alert( mySchedule.display() );


  伴隨對廣大程序員對JavaScript的接受,設計良好的面向對象代碼的使用也正日益普及。貫穿本書的始末,我將試圖展示我認為能夠最好地例示代碼設計與實現(xiàn)的不同的面向對象的JavaScript代碼片段。

相關文章

最新評論

福建省| 邵阳市| 高密市| 句容市| 永济市| 鄱阳县| 甘肃省| 任丘市| 临沭县| 嘉祥县| 伊川县| 泗阳县| 鸡东县| 常山县| 宁城县| 青浦区| 紫云| 特克斯县| 册亨县| 达州市| 邹平县| 通化县| 临泽县| 临清市| 灵寿县| 沛县| 泾阳县| 黄龙县| 合阳县| 万盛区| 聊城市| 新和县| 登封市| 和硕县| 句容市| 罗定市| 历史| 靖宇县| 汨罗市| 周至县| 阜宁县|