資源描述:
《javascript面向?qū)ο缶幊?大全)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、JavaScript面向?qū)ο缶幊檀笕?、引言JavaScript是一種解釋性的,基于對象的腳本語言(aninterpreted,object-basedscriptinglanguage)。JavaScript基于客戶端運行,目前基本上所有的瀏覽器都支持JavaScript。1995年首次出現(xiàn)時,JavaScript的主要目的還只是處理一些輸入的有效性驗證,隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,JavaScript的應(yīng)用越來越廣泛,特別是近幾年AJAX技術(shù)(AsynchronousJavaScriptandXML)的
2、發(fā)展,更使JavaScript的應(yīng)用達到了一個新的高度。在AJAX技術(shù)中,JavaScript是一項關(guān)鍵技術(shù),請求的發(fā)送、接收、接收數(shù)據(jù)后的界面處理都需要使用JavaScript技術(shù),這對JavaScript語言提出了新的需求,本文從JavaScript的基本特點出發(fā),模擬出了面向?qū)ο缶幊痰拇蟛糠痔攸c,使JavaScript擺脫了以往腳本語言雜亂無章、難以閱讀、難以維護的形象,而具有了面向?qū)ο筇匦?,極大的方便了JavaScript的開發(fā)、維護,提高了軟件開發(fā)效率。2、JavaScript的基本特點Ja
3、vaScript是解釋性的,基于對象的腳本語言。它有下面幾個顯著特點,這幾個特點在后面的面向?qū)ο筇匦阅M中會反復(fù)用到,因此這里先詳細說明這幾個特點。l解釋型語言:JavaScript是一種解釋性語言,解釋性語言相對于編譯型語言,編譯型語言必須先通過編譯才能執(zhí)行,而解釋性語言不需要編譯,直接從上到下解釋執(zhí)行,一邊解釋一邊執(zhí)行,這就決定了解釋性語言的代碼是有先后順序的,需要執(zhí)行的代碼必須已經(jīng)解釋過。因此,JavaScript需要注意代碼的先后順序。l弱類型語言:JavaScript是一種弱類型語言,弱類型
4、語言相對于強類型語言,大部分面向?qū)ο笳Z言都是強類型語言,強類型語言是一種需要強制類型定義的語言,它要求每個變量都確定某一種類型,它和別的類型轉(zhuǎn)換必須顯式轉(zhuǎn)換。弱類型語言是一種類型可以被忽略的語言,它在變量定義時不指定某一類型,在執(zhí)行時通過執(zhí)行結(jié)果才能確定類型,不同類型之間不需要通過顯式轉(zhuǎn)換就可以轉(zhuǎn)換。l動態(tài)添加屬性和方法:這個特點是指可以動態(tài)為某個對象添加以前沒有的屬性和方法。這個特點使JavaScript非常靈活,正因為有了這個特點,JavaScript的面向?qū)ο缶幊滩庞辛丝赡?。lprototype
5、(原型)屬性:JavaScript是一種基于對象的語言,JavaScript中的所有對象,都具有prototype屬性。prototype屬性返回對象的所有屬性和方法,所有JavaScript內(nèi)部對象都有只讀的prototype屬性,可以向其原型中動態(tài)添加屬性和方法,但該對象不能被賦予不同的原型。但是自定義的對象可以被賦給新的原型。3、面向?qū)ο蟮幕咎攸c面向?qū)ο笥邢铝腥齻€主要特點:封裝、繼承和多態(tài)。這里先詳細說明這幾個特點,后面幾個部分分別在JavaScript中實現(xiàn)這些特點,從而實現(xiàn)完整的面向?qū)ο竽?/p>
6、擬。l封裝:封裝就是把各種方法和變量合并到一個類,用這個類代表某個對象為完成一定的任務(wù)所能保存的范圍以及它能執(zhí)行的操作。封裝隱藏了方法執(zhí)行的細節(jié)。l繼承:繼承就是根據(jù)現(xiàn)有類的方法和成員變量生成新的類的功能。l多態(tài):多態(tài)就是對象隨著程序執(zhí)行而使其形式發(fā)生改變的能力。4、JavaScript語言基礎(chǔ)4.1數(shù)據(jù)類型基本數(shù)據(jù)類型:Number,String,Boolean,Function,Object,Array,null,undefined,注意null和undefined的區(qū)別。日期和時間:日期類型并不
7、是JavaScript的基本數(shù)據(jù)類型,但JavaScript提供了一個處理日期的類:Date,用法如下:varnow=newDate();varyear=now.getYear();//年varmonth=now.getMonth()+1;//月varday=now.getDate();//日varhour=now.getHours();//時varminute=now.getMinutes();//分varsecond=now.getSeconds();//秒alert("現(xiàn)在時間是:"+year+
8、"-"+month+"-"+day+""+hour+":"+minute+":"+second);正則表達式:主要用于對文本進行模式匹配,實現(xiàn)對文本的查找和替換操作。在JavaScript中,提供了一個RegExp類來處理正則表達式,創(chuàng)建方式和Date一樣,用關(guān)鍵字new就可以創(chuàng)建,如varre=newRegExp();和Date不一樣的地方在于,雖然RegExp類也不是JavaScript的基本數(shù)據(jù)類型,但我們在創(chuàng)建正則表達式對象時,可以不需要用new