JavaScript教程--從入門到精通(精典)_第1頁
JavaScript教程--從入門到精通(精典)_第2頁
JavaScript教程--從入門到精通(精典)_第3頁
JavaScript教程--從入門到精通(精典)_第4頁
JavaScript教程--從入門到精通(精典)_第5頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、JavaScript教程JavaScript是由Netscape公司開發(fā)并隨Navigator導航者一起發(fā)布的、介于Java與HTML之間、基于對象事件驅(qū)動的編程語言,正日益受到全球的關(guān)注。因它的開發(fā)環(huán)境簡單,不需要Java編譯器,而是直接運行在Web瀏覽器中,而因倍受Web設(shè)計者的所愛 JavaScript教程語言概況 o JavaScript的出現(xiàn),它可以使得信息和用戶之間不僅只是一種顯示和瀏覽的關(guān)系,而是實現(xiàn)了一種實時的、動態(tài)的、可交式的表達能力 .o JavaScript腳本正是滿足這種需求而產(chǎn)生的語言。它深受廣泛用戶的喜愛的歡迎。它是眾多腳本語言中較為優(yōu)秀的一種,它與WWW的結(jié)合有效

2、地實現(xiàn)了網(wǎng)絡(luò)計算和網(wǎng)絡(luò)計算機的藍圖。無凝Java家族將占領(lǐng)Internet網(wǎng)絡(luò)的主導地位。 JavaScript幾個基本特點 o 腳本編寫語言腳本編寫語言 o 基于對象的語言基于對象的語言 o 簡單性簡單性 o 安全性安全性 o 動態(tài)性動態(tài)性 o 跨平臺性跨平臺性 JavaScript和Java的區(qū)別 o 雖然JavaScript與Java有緊密的聯(lián)系,但卻是兩個公司開發(fā)的不同的兩個產(chǎn)品。o Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計語言,特別適合于Internet應(yīng)用程序開發(fā);o JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴展Netscape Navigator功

3、能,而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅(qū)動的解釋性語言,它的前身是Live Script;o Java的前身是Oak語言?;趯ο蠛兔嫦?qū)ο蠡趯ο蠛兔嫦驅(qū)ο?o Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序,必須設(shè)計對象。 o JavaScript是種腳本語言,它可以用來制作與網(wǎng)絡(luò)無關(guān)的,與用戶交互作用的復雜軟件。它是一種基于對象(Object Based)和事件驅(qū)動(Event Driver)的編程語言。因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計人員使用。 解釋和編譯解釋和編譯 o 兩種語言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須

4、經(jīng)過編譯,因而客戶端上必須具有相應(yīng)平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現(xiàn)獨立于某個特定的平臺編譯代碼的束縛。o JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶編由瀏覽器解釋執(zhí)行。 強變量和弱變量強變量和弱變量 o兩種語言所采取的變量是不一樣的。oJava采用強類型變量檢查,即所有變量在編譯之前必須作聲明。如: Integer x; String y;x=1234;x=4321;其中X=1234說明是一個整數(shù),Y=4321說明是一個字符串。oJavaScript中變量聲明,采用其弱類型。即變量在使用前不需作聲明

5、,而是解釋器在運行時檢查其數(shù)據(jù)類型,如:x=1234;y4321;前者說明x為其數(shù)值型變量,而后者說明y為字符型變量。 代碼格式不一樣代碼格式不一樣 o Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進行裝載,其代碼以字節(jié)代碼的形式保存在獨立的文檔中。o JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動態(tài)裝載。編寫HTML文檔就像編輯文本文件一樣方便。 嵌入方式不一樣嵌入方式不一樣 o 在HTML文檔中,兩種編程語言的標識不同,o JavaScript使用.來標識o Java使用.來標識。 靜態(tài)聯(lián)編和動態(tài)聯(lián)編靜態(tài)聯(lián)編和動態(tài)聯(lián)編 o Ja

6、va采用靜態(tài)聯(lián)編,即Java的對象引用必須在編譯時的進行,以使編譯器能夠?qū)崿F(xiàn)強類型檢查。o JavaScript采用動態(tài)聯(lián)編,即JavaScript的對象引用在運行時進行檢查,如不經(jīng)編譯則就無法實現(xiàn)對象引用的檢查。 編寫第一個JavaScript程序 o/ JavaScript Appears here.alert(這是第一個JavaScript例子!);alert(歡迎你進入JavaScript世界!); alert(今后我們將共同學習JavaScript知識!); 編寫第一個JavaScript程序 JavaScript代碼由 .說明。在標識.之間就可加入JavaScript腳本。aler

7、t()是JavaScript的窗口對象方法,其功能是彈出一個具有OK對話框并顯示()中的字符串。通過標識說明:若不認識JavaScript代碼的瀏覽器,則所有在其中的標識均被忽略;若認識,則執(zhí)行其結(jié)果。使用注釋這是一個好的編程習慣,它使其他人可以讀懂你的語言。JavaScript 以 標簽結(jié)束。JavaScript基本數(shù)據(jù)結(jié)構(gòu)基本數(shù)據(jù)結(jié)構(gòu) o JavaScript提供腳本語言的編程與C+非常相似,它只是去掉了語言中有關(guān)指針等容易產(chǎn)生的錯誤,并提供了功能強大的類庫。對于已經(jīng)具備+或語言的人來說,學習JavaScript腳本語言是一件非常輕松愉快的事。 JavaScript代碼的加入 o 可以直接

8、將JavaScript腳本加入文檔 JavaScript語言代碼;JavaScript 語言代碼; . o 說明: 通過標識.指明JavaScript腳本源代碼將放入其間。通過屬性Language =JavaScript說明標識中是使用的何種語言,這里是JavaScript語言, 表示在JavaScript中使用的語言。 基本數(shù)據(jù)類型 o 基本數(shù)據(jù)類型 o 常量 o 變量 基本數(shù)據(jù)類型 在JavaScript中四種基本的數(shù)據(jù)類型:數(shù)值(整數(shù)和實數(shù))、字符串型(用“”號或括起來的字符或數(shù)值)、布爾型(使True或False表示)和空值 .常量 o 整型常量 o 實型常量 o 布爾值 o 字符型常

9、量 o 空值表達式 在定義完變量后,就可以對它們進行賦值、改變、計算等一系列操作,這一過程通常又叫稱一個叫表達式來完成,可以說它是變量、常量、布爾及運算符的集合,因此表達式可以分為算術(shù)表述式、字串表達式、賦值表達式以及布爾表達式等。 運算符 o 算術(shù)運算符o 比較運算符o 布爾邏輯運算符算術(shù)運算符 o JavaScript中的算術(shù)運算符有單目運算符和雙目運算符。雙目運算符: +(加) 、-(減)、 *(乘)、 /(除)、 %(取模) 、|(按位或)、&(按位與)、(右移)、 (右移,零填充)。單目運算符: -(取反)、(取補)、+(遞加1)、-(遞減1)。比較運算符 o 比較運算符它的基本操作

10、過程是,首先對它的操作數(shù)進行比較,爾后再返回一個true或False值,有個比較運算符:(大于)、=(大于等于)、=(等于)、!=(不等于)。布爾邏輯運算符o 在JavaScript中增加了幾個布爾邏輯運算符: !(取反)、&=(與之后賦值)、 &(邏輯與)、 |=(或之后賦值)、 |(邏輯或)、 =(異或之后賦值)、 (邏輯異或)、 ?:(三目操作符)、|(或)、=(等于)、|=(不等于)。其中三目操作符主要格式如下:操作數(shù)?結(jié)果:結(jié)果若操作數(shù)的結(jié)果為真,則表述式的結(jié)果為結(jié)果,否則為結(jié)果。 一個跑馬燈效果的JavaScript文檔。 ovar msg=這是一個跑馬燈效果的JavaScript

11、文檔;var interval = 100;var spacelen = 120;var space10= ;var seq=0;function Scroll() len = msg.length;window.status = msg.substring(0, seq+1);seq+;if ( seq = len ) seq = spacelen; window.setTimeout(Scroll2();, interval );else一個跑馬燈效果的JavaScript文檔owindow.setTimeout(Scroll();, interval ); function Scroll

12、2() var out=;for (i=1; i= len ) seq = 0; ;window.setTimeout(Scroll2();, interval ); Scroll(); JavaScript程序構(gòu)成程序構(gòu)成 o 控制語句 o 函數(shù) o 對象 o 方法 o 屬性 if條件語句o 基本格式if(表述式)語句段;.else語句段;.功能:若表達式為true,則執(zhí)行語句段;否則執(zhí)行語句段。if語句的嵌套 o if(布爾值)語句;else(布爾值)語句;else if(布爾值)語句;else 語句;在這種情況下,每一級的布爾表述式都會被計算,若為真,則執(zhí)行其相應(yīng)的語句,否則執(zhí)行else

13、后的語句。For循環(huán)語句o基本格式for(初始化;條件;增量)語句集;功能:實現(xiàn)條件循環(huán),當條件成立時,執(zhí)行語句集,否則跳出循環(huán)體。說明:初始化參數(shù)告訴循環(huán)的開始位置,必須賦予變量的初值;條件:是用于判別循環(huán)停止時的條件。若條件滿足,則執(zhí)行循環(huán)體,否則 跳出。增量:主要定義循環(huán)控制變量在每次循環(huán)時按什么方式變化。三個主要語句之間,必須使用逗號分隔。while循環(huán) o 基本格式while(條件)語句集;該語句與For語句一樣,當條件為真時,重復循環(huán),否則退出循環(huán)。For與while語句兩種語句都是循環(huán)語句,使用For語句在處理有關(guān)數(shù)字時更易看懂,也較緊湊;而while循環(huán)對復雜的語句效果更特別。

14、 break和continue語句o 與C+語言相同,使用break語句使得循環(huán)從For或while中跳出,continue使得跳過循環(huán)內(nèi)剩余的語句而進入下一次循環(huán)。 函數(shù)函數(shù)o 函數(shù)為程序設(shè)計人員提供了一個豐常方便的能力。通常在進行一個復雜的程序設(shè)計時,總是根據(jù)所要完成的功能,將程序劃分為一些相對獨立的部分,每部分編寫一個函數(shù)。從而,使各部分充分獨立,任務(wù)單一,程序清晰,易懂、易讀、易維護。JavaScript函數(shù)可以封裝那些在程序中可能要多次用到的模塊。并可作為事件驅(qū)動的結(jié)果而調(diào)用的程序。從而實現(xiàn)一個函數(shù)把它與事件驅(qū)動相關(guān)聯(lián)。這是與其它語言不樣的地方。 JavaScript函數(shù)定義oFun

15、ction 函數(shù)名 (參數(shù),變元)函數(shù)體;.Return 表達式;說明:當調(diào)用函數(shù)時,所用變量或字面量均可作為變元傳遞。函數(shù)由關(guān)鍵字Function定義。函數(shù)名:定義自己函數(shù)的名字。參數(shù)表,是傳遞給函數(shù)使用或操作的值,其值可以是常量 ,變量或其它表達式。通過指定函數(shù)名(實參)來調(diào)用一個函數(shù)。必須使用Return將值返回。函數(shù)名對大小寫是敏感的。函數(shù)中的形式參數(shù) o在函數(shù)的定義中,我們看到函數(shù)名后有參數(shù)表,這些參數(shù)變量可能是一個或幾個。那么怎樣才能確定參數(shù)變量的個數(shù)呢?在JavaScript中可通過arguments .Length來檢查參數(shù)的個數(shù)。例:Function function_Nam

16、e(exp1,exp2,exp3,exp4)Number =function _Name . arguments .length;if (Number1)document.wrile(exp2);if (Number2)document.write(exp3);if(Number3)document.write(exp4);. 事件驅(qū)動及事件處理 o JavaScript是基于對象(object-based)的語言。這與Java不同,Java是面向?qū)ο蟮恼Z言。而基于對象的基本特征,就是采用事件驅(qū)動(event-driven)。它是在用形界面的環(huán)境下,使得一切輸入變化簡單化。通常鼠標或熱鍵的動作

17、我們稱之為事件(Event),而由鼠標或熱鍵引發(fā)的一連串程序的動作,稱之為事件驅(qū)動(Event Driver)。而對事件進行處理程序或函數(shù),我們稱之為事件處理程序(Event Handler)。 事件處理程序 o 在JavaScript中對象事件的處理通常由函數(shù)(Function)擔任。其基本格式與函數(shù)全部一樣,可以將前面所介紹的所有函數(shù)作為事件處理程序。格式如下:Function 事件處理名(參數(shù)表)事件處理語句集; 主要有以下幾個事件 o 單擊事件onClicko onChange改變事件 o 選中事件onSelect o 獲得焦點事件onFocuso 失去焦點onBluro 載入文件on

18、Load o 卸載文件onUnload范例1 o調(diào)用范例2 ofunction makeArray(n)this.length=nreturn thisfunction hexfromdec(num) hex=new makeArray(1);var hexstring=;var shifthex=16;var temp1=num;for(x=1; x=0; x-) hexx=Math.round(temp1/shifthex - .5);hexx-1=temp1 - hexx * shifthex;temp1=hexx-1;shifthex /= 16;for (x=1; x=0; x-)

19、hexstring+=getletter(hexx); return (hexstring);范例2ofunction getletter(num) if (num 10) return num; else if (num = 10) return A if (num = 11) return B if (num = 12) return C if (num = 13) return D if (num = 14) return E if (num = 15) return F function rainbow(text)var color_d1;var allstring=;for(i=0;

20、itext.length;i=i+2)color_d1=255*Math.sin(i/(text.length/3);color_h1=hexfromdec(color_d1);allstring+=+text.substring(i,i+2)+;return allstring;范例2ofunction sizefont(text)var color_d1;var allstring=;var flag=0;for(i=0,j=0;i=7) flag=1;if (flag=1) j=j-1;if (j=0) flag=0; allstring+= + text.substring(i,i+1

21、) + ;return allstring;范例2odocument.write()document.write()document.write( sizefont(這是一個獲取WEB瀏覽器的程序)document.write()document.write(瀏覽器名稱: +navigator.appName+);document.write(版本號: +navigator.appVersion+);document.write(代碼名字: +navigator.appCodeName+);document.write(用戶代理標識: +navigator.userAgent);范例2o 輸出

22、結(jié)果圖1所示 基于對象的基于對象的JavaScript語言語言 o JavaScript語言是基于對象的(Object-Based),而不是面向?qū)ο蟮模╫bject-oriented)。之所以說它是一門基于對象的語言,主要是因為它沒有提供象抽象、繼承、重載等有關(guān)面向?qū)ο笳Z言的許多功能。而是把其它語言所創(chuàng)建的復雜對象統(tǒng)一起來,從而形成一個非常強大的對象系統(tǒng)。 o 雖然JavaScript語言是一門基于對象的,但它還是具有一些面向?qū)ο蟮幕咎卣?。它可以根?jù)需要創(chuàng)建自己的對象,從而進一步擴大JavaScript的應(yīng)用范圍,增強編寫功能強大的Web文檔。對象的基礎(chǔ)知識對象的基礎(chǔ)知識o 對象的基本結(jié)構(gòu)

23、o 引用對象的途徑 o 有關(guān)對象操作語句 o 對象屬性的引用 o 對象的方法的引用 對象的基本結(jié)構(gòu) o JavaScript中的對象是由屬性(properties)和方法(methods)兩個基本的元素的構(gòu)成的。前者是對象在實施其所需要行為的過程中,實現(xiàn)信息的裝載單位,從而與變量相關(guān)聯(lián);后者是指對象能夠按照設(shè)計者的意圖而被執(zhí)行,從而與特定的函數(shù)相聯(lián)。 引用對象的途徑o 一個對象要真正地被使用,可采用以下幾種方式:o 1.引用JavaScript內(nèi)部對象;o 2.由瀏覽器環(huán)境中提供o 3.創(chuàng)建新對象。o 這就是說一個對象在被引用之前,這個對象必須存在,否則引用將毫無意義,而出現(xiàn)錯誤信息。從上面中

24、我們可以看出JavaScript引用對象可通過三種方式獲取。要么創(chuàng)建新的對象,要么利用現(xiàn)存的對象。 有關(guān)對象操作語句 o For.in語句 o with語句o this關(guān)鍵字o New運算符 For.in語句 o格式如下:For(對象屬性名 in 已知對象名)說明:1.該語句的功能是用于對已知對象的所有屬性進行操作的控制循環(huán)。它是將一個已知對象的所有屬性反復置給一個變量;而不是使用計數(shù)器來實現(xiàn)的。2.該語句的優(yōu)點就是無需知道對象中屬性的個數(shù)即可進行操作。例:下列函數(shù)是顯示數(shù)組中的內(nèi)容:Function showData(object)for (var X=0; X30;X+)document.

25、write(objecti);該函數(shù)是通過數(shù)組下標順序值,來訪問每個對象的屬性,使用這種方式首先必須知道數(shù)組的下標值,否則若超出范圍,則就會發(fā)生錯誤。而使For.in語句,則根本不需要知道對象屬性的個數(shù),見下:Function showData(object)for(var prop in object)document.write(objectprop);使用該函數(shù)時,在循環(huán)體中,F(xiàn)or自動將的屬性取出來,直到最后為此。with語句 o 使用該語句的意思是:在該語句體內(nèi),任何對變量的引用被認為是這個對象的屬性,以節(jié)省一些代碼。with object.所有在with語句后的花括號中的語句,都是

26、在后面object對象的作用域的。 this關(guān)鍵字o this是對當前的引用,在JavaScript由于對象的引用是多層次,多方位的,往往一個對象的引用又需要對另一個對象的引用,而另一個對象有可能又要引用另一個對象,這樣有可能造成混亂,最后自己已不知道現(xiàn)在引用的那一個對象,為此JavaScript提供了一個用于將對象指定當前對象的語句this。New運算符 o 使用New運算符可以創(chuàng)建一個新的對象。其創(chuàng)建對象使用如下格式:Newobject=NEW Object(Parameters table);其中Newobject創(chuàng)建的新對象:object是已經(jīng)存在的對象; parameters tab

27、le參數(shù)表;new是JavaScript中的命令語句。如創(chuàng)建一個日期新對象newData=New Data()birthday=New Data (December 12.1998)之后就可使NewData、birthday作為一個新的日期對象了。 對象屬性的引用 o 使用點(.)運算符: university.Name=“廣西” o 通過對象的下標實現(xiàn)引用: university0=“廣西” o 通過字符串的形式實現(xiàn) : universityName=“廣西” 對象的方法的引用 o在JavaScript中對象方法的引用是非常簡單的。ObjectName.methods()實際上methods

28、()=FunctionName方法實質(zhì)上是一個函數(shù)。 如引用university對象中的showmy()方法,則可使用:document.write (university.showmy()或:document.write(university)如引用math內(nèi)部對象中cos()的方法則:with(math)document.write(cos(35);document.write(cos(80);若不使用with則引用時相對要復雜些:document.write(Math.cos(35)document.write(math.sin(80) 常用對象的屬性和方法o JavaScript為我們

29、提供了一些非常有用的常用內(nèi)部對象和方法。用戶不需要用腳本來實現(xiàn)這些功能。這正是基于對象編程的真正目的。在JavaScript提供了string(字符串)、math(數(shù)值計算)和Date(日期)三種對象和其它一些相關(guān)的方法。從而為編程人員快速開發(fā)強大的腳本程序提供了非常有利的條件。 常用內(nèi)部對象 o 在JavaScript中對于對象屬性與方法的引用,有兩種情況:其一是說該對象是靜態(tài)對象,即在引用該對象的屬性或方法時不需要為它創(chuàng)建實例;而另一種對象則在引用它的對象或方法是必須為它創(chuàng)建一個實例,即該對象是動態(tài)對象。對JavaScript內(nèi)部對象的引用,以是緊緊圍繞著它的屬性與方法進行的。因而明確對象

30、的靜動性對于掌握和理解JavaScript內(nèi)部對象是具有非常重要的意義。 串對象o string對象:內(nèi)部靜態(tài)性。訪問properties和methods時,可使用(.)運算符實現(xiàn)?;臼褂酶袷剑簅bjectNp/methods串對象的屬性o string對象只有一個屬性,即length。它表明了字符串中的字符個數(shù),包括所有符號。例:mytest=This is a JavaScriptmystringlength=mytest.length最后mystringlength返回mytest字串的長度為20。串對象的方法ostring對象的方法共有個。主要用于有關(guān)字符串在Web頁面

31、中的顯示、字體大小、字體顏色、字符的搜索以及字符的大小寫轉(zhuǎn)換。其主要方法如下:o 錨點anchor():該方法創(chuàng)建如用Html文檔中一樣的anchor標記。使用anchor如用Html中(A Name=)一樣。通過下列格式訪問:string.anchor(anchorName)。o 有關(guān)字符顯示的控制方法big字體顯示, Italics()斜體字顯示,bold()粗體字顯示,blink()字符閃爍顯示,small()字符用小體字顯示,fixed()固定高亮字顯示、fontsize(size)控制字體大小等。o 字體顏色方法;fontcolor(color)o 字符串大小寫轉(zhuǎn)換toLowerCa

32、se()小寫轉(zhuǎn)換,toUpperCase()大寫轉(zhuǎn)換。下列把一個給定的串分別轉(zhuǎn)換成大寫和小寫格式:string=stringValue.toUpperCase和string=stringValue.toLowerCase。o 字符搜索:indexOfcharactor,fromIndex從指定formIndtx位置開始搜索charactor第一次出現(xiàn)的位置。返回字串的一部分字串:substring(start,end)從start開始到end的字符全部返回。 算術(shù)函數(shù)的math對象 o 功能:提供除加、減、乘、除以外的一引些自述運算。如對數(shù),平方根等 。o 靜動性:靜態(tài)對象o 主要屬性 :ma

33、th中提供了個屬性,它們是數(shù)學中經(jīng)常用到的常數(shù)、以為底的自然對數(shù)、以為底的自然對數(shù)LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根為SQRT2。算術(shù)函數(shù)的math對象o 主要方法: 絕對值:abs()正弦余弦值:sin(),cos()反正弦反余弦 :asin(), acos()正切反正切:tan(),atan()四舍五入:round()平方根:sqrt()基于幾方次的值:Pow(base,exponent).日期及時間對象 o 功能:提供一個有關(guān)日期和時間的對象。o 靜動性:動態(tài)性,即必須使用New運算符創(chuàng)建一個實例。例:MyDate=New Date()Date對象沒有

34、提供直接訪問的屬性。只具有獲取和設(shè)置日期和時間的方法。日期起始值:年月日:。 獲取日期的時間方法 o getYear(): 返回年數(shù)getMonth():返回當月號數(shù)getDate(): 返回當日號數(shù)getDay():返回星期幾getHours():返回小時數(shù)getMintes(:返回分鐘數(shù)getSeconds():返回秒數(shù)getTime() : 返回毫秒數(shù) 設(shè)置日期和時間 o setYear():設(shè)置年setDate():設(shè)置當月號數(shù)setMonth():設(shè)置當月份數(shù)setHours():設(shè)置小時數(shù)setMintes():設(shè)置分鐘數(shù)setSeconds():設(shè)置秒數(shù)setTime ():設(shè)置

35、毫秒數(shù) JavaScript中的系統(tǒng)函數(shù)oJavaScript中的系統(tǒng)函數(shù)又稱內(nèi)部方法。它提供了與任何對象無關(guān)的系統(tǒng)函數(shù),使用這些函數(shù)不需創(chuàng)建任何實例,可直接用。1返回字符串表達式中的值: 方法名:eval(字串表達式),例: test=eval(“8+9+5/2”);2. 返回字符串ASCI碼: 方法名:unEscape (string)3返回字符的編碼: 方法名:escape(character)4返回實數(shù): parseFloat(floustring);5返回不同進制的數(shù): parseInt(numbestring ,rad.X) 其中radix是數(shù)的進制,numbs字符串數(shù) 在在Jav

36、aScript中創(chuàng)建新對象中創(chuàng)建新對象 o 使用JavaScript可以創(chuàng)建自己的對象。雖然JavaScript內(nèi)部和瀏覽器本身的功能已十分強大,但JavaScript還是提供了創(chuàng)建一個新對象的方法。使其不必像超文本標識語言那樣,求于或其它多媒體工具,就能完成許多復雜的工作。在JavaScript中創(chuàng)建一個新的對象是十分簡單的。首先它必須定義一個對象,而后再為該對象創(chuàng)建一個實例。這個實例就是一個新對象,它具有對象定義中的基本特征。 對象的定義對象的定義oJavaScript對象的定義,其基本格式如下:Function Object(屬性表)Tp1=prop1Tp2=

37、prop2.This.meth=FunctionName1;This.meth=FunctionName2;.在一個對象的定義中,可以為該對象指明其屬性和方法。通過屬性和方法構(gòu)成了一個對象的實例。如以下是一個關(guān)于University對象的定義:Function university(name,city,creatDate URL)T=nameThis.city=cityThis.creatDate=New Date(creatDate)This.URL=URL其基本含義如下:Name指定一個“單位”名稱。 City“單位”所在城市。 CreatDate記載university對

38、象的更新日期。 URL該對象指向一個網(wǎng)址。 創(chuàng)建對象實例創(chuàng)建對象實例o 一旦對象定義完成后,就可以為該對象創(chuàng)建一個實例了:NewObject=New object();其中Newobjet是新的對象,Object已經(jīng)定義好的對象。例:U1=New university(“云南省”,“昆明市”,January 05,199712:00:00,http:/www.YN.KM)U2=New university(“云南電子科技大學”,“昆明”,January 07,1997 12:00:00,htlp:/www.YNKJ.CN) 對象方法的使用 o在對象中除了使用屬性外,有時還需要使用方法。在對象的

39、定義中,我們看到This.meth=FunctionName語句,那就是為定義對象的方法。實質(zhì)對象的方法就是一個函數(shù)FunctionName,通過它實現(xiàn)自己的意圖o例在university對象中增加一個方法,該方法是顯示它自己本身,并返回相應(yīng)的字串。function university(name,city,createDate,URL)This.Name=Name;This.city=city;This.createDate=New Date(creatDate);This.URL=URL;This.showuniversity=showuniversity;其中This.showunive

40、rsity就是定義了一個方法showuniversity()。而showuniversity()方法是實現(xiàn)university對象本身的顯示。function showuniversity()For (var prop in this)alert(prop+=+thisprop+);其中alert是JavaScript中的內(nèi)部函數(shù),顯示其字符串。 JavaScript中的數(shù)組 o 使用New創(chuàng)建數(shù)組JavaScript中沒有提供像其它語言具有明顯的數(shù)組類型,但可以通過function定義一個數(shù)組,并使用New對象操作符創(chuàng)建一個具有下標的數(shù)組。從而可以實現(xiàn)任何數(shù)據(jù)類型的存儲。 定義對象的數(shù)組 o

41、 Function arrayName(size)This.length=Size;for(var X=; X=size;X+)thisX=0;Reture this;其中arrayName是定義數(shù)組的一個名子,Size是有關(guān)數(shù)組大小的值(1-size),即數(shù)組元素的個數(shù)。通過for循環(huán)對一個當前對象的數(shù)組進行定義,最后返回這個數(shù)組。創(chuàng)建數(shù)組實例 o 一個數(shù)組定義完成以后,還不能馬上使用,必須為該數(shù)組創(chuàng)建一個數(shù)組實例:Myarray=New arrayName(n);并賦于初值:Myarray1=“字串”;Myarray2=“字串”;Myarray3=“字串”;.Myarrayn=“字串n”;

42、一旦給數(shù)組賦于了初值后,數(shù)組中就具有真正意義的數(shù)據(jù)了,以后就可以在程序設(shè)計過程中直接引用。創(chuàng)建多維數(shù)組 oFunction creatMArray(row,col)var indx=0;this.length=(row*10)+colfor(var x=1;x=row;x+)for(var y=1;y=col;y+)indx=(x*10)+y;thisindx=”;myMArray=new creatMArray();之后可通過myMArray11、myMArray12、myMArray13、myMArray21、myMArray22、myMArray23、來引用。內(nèi)部數(shù)組o在Java中為了方

43、便內(nèi)部對象的操作,可以使用窗體(Forms)、框架(Frames)、元素(element)、鏈接(links)和錨(Anchors)數(shù)組實現(xiàn)對象的訪問。oanchors:使用A name=“anchorName“標識來建立錨的鏈接。 olinks: 使用來定義一個越文本鏈接項。oForms: 在程序中使用多窗體時,建立該數(shù)組。oElements:在一個窗口中使用從個元素時,建立該數(shù)組。oFrames:建立框架時,使用該數(shù)組oanchors用于窗體的訪問(它是通過form name=“form1”所指定的),link用于被鏈接到的錨點的訪問(它是通過a href=URL所指定的)。Forms反映

44、窗體的屬性,而anchors反映Web頁面中的鏈接屬性。JavaScript對象系統(tǒng)的使用對象系統(tǒng)的使用 o 使用瀏覽器的內(nèi)部對象系統(tǒng), 可實現(xiàn)與HTML文檔進行交互。它的作用是將相關(guān)元素組織包裝起來,提供給程序設(shè)計人員使用,從而減輕編程人的勞動,提高設(shè)計Web頁面的能力。o 編程人員利用這些對象,可以對WWW瀏覽器環(huán)境中的事件進行控制并作出處理。在JavaScript中提供了非常豐富的內(nèi)部方法和屬性,從而減輕了編程人員的工作,提高編程效率 JavaScript對象系統(tǒng)對象系統(tǒng) o 瀏覽器對象(Navigator) o 窗口對象(Window) o 文檔對象(Document) o 位置對象(

45、Location) o 歷史對象(History) o 在這些對象系統(tǒng)中,文檔對象非常重要,它位于最低層,但對于我們實現(xiàn)Web頁面信息交互起作關(guān)鍵作用。因而它是對象系統(tǒng)的核心部分。 document對象的主要作用 Links AnchorForm Method Prop 鏈接對象 錨對象 窗體對象 方法 對象 o document對象的主要作用就是把這些基本的元素(如links,anchor等)包裝起來,提供給編程人員使用。從另一個角度看,document對象中又是由屬性和方法組成。 文檔對象中的attribute屬性 odocument對象中的attribute屬性,主要用于在引用Href標

46、識時,控制著有關(guān)顏色的格式和有關(guān)文檔標題、文檔原文件的URL以及文檔最后更新的日期。這部分元素的主要含義如下:()鏈接顏色:alinkcolor這個元素主要用于,當選取一個鏈接時,鏈接對象本身的顏色就按alinkcolo r指定改變。()鏈接顏色:linkcolor當用戶使用 Text string 鏈接后,Textstring的顏色就會按Linkcolor所指定的顏色更新。()瀏覽過后的顏色:VlinkColor該屬性表示的是已被瀏覽存儲為已瀏覽過的鏈接顏色。()背景顏色:bgcolor該元素包含文檔背景的顏色。()前景顏色:Fgcolor該元素包含HTML文檔中文本的前景顏色。文檔對象的基

47、本元素 o()窗體屬性:窗體屬性是與HTML文檔中.相對應(yīng)的一組對象在HTML文檔所創(chuàng)建的窗體數(shù),由length指定。通過document.forms.length反映該文檔中所創(chuàng)建的窗體數(shù)目。()錨屬性:anchors該屬性中,包含了HTML文檔的所有 標記為Name=.的語句標識。所有“錨”的數(shù)目保存在document.anchors.length中。()鏈接屬性:links鏈接屬性是指在文檔中.的由Href=.指定的數(shù)目,其鏈接數(shù)目保存在document.links.length中。 JavaScript窗口及輸入輸出窗口及輸入輸出 o JavaScript是基于對象的腳本編程語言,那么

48、它的輸入輸出就是通過對象來完成的。其中有關(guān)輸入可通過窗口(Window)對象來完成,而輸出可通過文檔(document)對象的方法來實現(xiàn)。 窗口及輸入輸出o請看下面例子:Var test=mpt(請輸入數(shù)據(jù):);document.write(test+JavaScript輸入輸出的例子); 其中mpt()就是一個窗口對象的方法,其基本作用是,當裝入Web頁面時在屏幕上顯示一個具有“確定”和“取消”的對話框,讓你輸出數(shù)據(jù)。document.writle是一個文檔對象的方法,它的基本功能,是實現(xiàn)Web頁面的輸出顯示。 窗口對象 o 該對象包括許多有用的屬性、

49、方法和事件驅(qū)動程序,編程人員可以利用這些對象控制瀏覽器窗口顯示的各個方面,如對話框、框架等。在使用應(yīng)注意以下幾點:該對象對應(yīng)于HTML文檔中的和兩種標識;onload和onunload都是窗口對象屬性;在JavaScript腳本中可直接引用窗口對象。如:window.alert(窗口對象輸入方法)可直接使用以下格式:alert(窗口對象輸入方法)窗口對象的事件驅(qū)動 o 窗口對象主要有裝入Web文檔事件onload和卸載時onunload事件。用于文檔載入和停止載入時開始和停止更新文檔。 窗口對象的方法 o窗口對象的方法主要用來提供信息或輸入數(shù)據(jù)以及創(chuàng)建一個新的窗口。創(chuàng)建一個新窗口open()使

50、用window.open(參數(shù)表)方法可以創(chuàng)建一個新的窗口。其中參數(shù)表提供有窗口的主要特性和文檔及窗口的命名。具有OK按鈕的對話框alert()方法能創(chuàng)建一個具有OK按鈕的對話框。具有OK和Cancel按鈕的對話框confirm()方法為編程人員提供一個具有兩個按鈕的對話框。具有輸入信息的對話框prompt()方法允許用戶在對話框中輸入信息,并可使用默認值,其基本格式如下prompt(“提示信息”,默認值)。窗口對象中的屬性o窗口對象中的屬性主要用來對瀏覽器中存在的各種窗口和框架的引用,其主要屬性有以下幾個:()frames 確文檔中幀的數(shù)目frames(幀)作為實現(xiàn)一個窗口的分隔操作,起到非

51、常有用的作用,在使用注意以下幾點:frames屬性是通過HTML標識的順序來引用的,它包含了一個窗口中的全部幀數(shù)。幀本身已是一類窗口,繼承了窗口對象所有的全部屬性和方法。()Parent 指明當前窗口或幀的父窗口。()defaultstatus:默認狀態(tài),它的值顯示在窗口的狀態(tài)欄中。()status:包含文檔窗口中幀中的當前信息。()top:包括的是用以實現(xiàn)所有的下級窗口的窗口。()window.指的是當前窗口()self:引用當前窗口。輸出流及文檔對象o 在JavaScript文檔對象中,提供了用于顯示關(guān)閉、消除、打開HTML頁面的輸出流。o 創(chuàng)建新文檔open()方法o write()、w

52、riteln()輸出顯示 o 關(guān)閉文檔流close() o 清除文檔內(nèi)容clear() 簡單的輸入、輸出例子 o 輸入:Wmpt(提示信, 預定輸入信息);o 輸出 :document.write()方法和 document.writeln()方法說明:write()和writeln()方法都是用于向瀏覽器窗口輸出文本字串;二者的唯一區(qū)別就是writeln()方法自動在文本之后加入回車符。window.alert()輸出,在JavaScript為了方便信息輸出,JavaScript提供了具有獨立的對話框信息輸出alert()方法。 利用輸入、輸出方法實現(xiàn)交互o !- Hide From Other Browsers document.write(有關(guān)交互的例子); my=prompt(請輸入數(shù)據(jù):); document.write(my+); document.close(); / Stop Hiding from Other Browsers-從上面程序可以看出:可通過write()和prompt()方法實現(xiàn)交互。在JavaScript腳本語言中可以使用HTML標識語言的代碼。從而實現(xiàn)混合編程。其中和就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論