




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.轉(zhuǎn) JavaScript教程 從入門到精通1一、JavaScript語言概況Internet時(shí)代,造就了我們新的工作和生活方式,其互聯(lián)性、開放性和共享信息的形式,打破了傳統(tǒng)信息傳播方式的重重壁壘,為我們帶來了新的機(jī)遇。隨著計(jì)算機(jī)和信息時(shí)代的到來,人類社會(huì)前進(jìn)的腳步在逐漸加快,每一天都有新的事情發(fā)生,每一天都在創(chuàng)造著奇跡。隨著Internet技術(shù)的突飛猛進(jìn),各行各業(yè)都在參加Internet的行業(yè)中來。無論從管理方面,還是從商業(yè)角度來看,Internet都可以帶來無限活力。通過Internet,可以實(shí)現(xiàn)地區(qū)、集體乃至個(gè)人的連接,從而到達(dá)一種"統(tǒng)一的和諧"。那么怎樣把自己的或公
2、司的信息資源參加到WWW效勞器,是廣闊用戶日益關(guān)心的問題。采用超鏈技術(shù)超文本和超媒體技術(shù)是實(shí)現(xiàn)這個(gè)目的最簡(jiǎn)單的、最快速的手段和途徑。詳細(xì)實(shí)現(xiàn)這種手段的支持環(huán)境,那就是HTML超文本標(biāo)識(shí)語言。通過它們可制作所需的Web網(wǎng)頁。通過超文本Hyper Text和超媒體Hyper Media技術(shù)結(jié)合超鏈接Hyper link的鏈接功能將各種信息組織成網(wǎng)絡(luò)構(gòu)造web,構(gòu)成網(wǎng)絡(luò)文檔Document,實(shí)現(xiàn)Internet上的"遨游"。通過HTML符號(hào)的描繪就可以實(shí)現(xiàn)文字、表格、聲音、圖像、動(dòng)畫等多媒體信息的檢索。然而采用這種超鏈技術(shù)存在有一定的缺陷,那就是它只能提供一種靜態(tài)的信息資源,缺少
3、動(dòng)態(tài)的客戶端與效勞器端的交互。雖然可通過CGICommon Gateway Interface通用網(wǎng)關(guān)接口實(shí)現(xiàn)一定的交互,但由于該方法編程較為復(fù)雜,因此在一段時(shí)間防礙了Internet技術(shù)的開展。而JavaScript的出現(xiàn),無凝為Internet網(wǎng)上用戶帶來了一線活力??梢赃@樣說,JavaScript的出現(xiàn)是時(shí)代的需求,是當(dāng)今的信息時(shí)代造就了JavaScript。JavaScript的出現(xiàn),它可以使得信息和用戶之間不僅只是一種顯示和閱讀的關(guān)系,而是實(shí)現(xiàn)了一種實(shí)時(shí)的、動(dòng)態(tài)的、可交式的表達(dá)才能。從而基于CGI靜態(tài)的HTML頁面將被可提供動(dòng)態(tài)實(shí)時(shí)信息,并對(duì)客戶操作進(jìn)展反響的Web頁面的取代。Jav
4、aScript腳本正是滿足這種需求而產(chǎn)生的語言。它深受廣泛用戶的喜歡的歡送。它是眾多腳本語言中較為優(yōu)秀的一種,它與WWW的結(jié)合有效地實(shí)現(xiàn)了網(wǎng)絡(luò)計(jì)算和網(wǎng)絡(luò)計(jì)算機(jī)的藍(lán)圖。無凝Java家族將占領(lǐng)Internet網(wǎng)絡(luò)的主導(dǎo)地位。因此,盡快掌握J(rèn)avaScript腳本語言編程方法是我國廣闊用戶日益關(guān)心的。一、什么是JavaScript JavaScript是一種基于對(duì)象Object和事件驅(qū)動(dòng)Event Driven并具有平安性能的腳本語言。使用它的目的是與HTML超文本標(biāo)記語言、Java腳本語言Java小程序一起實(shí)如今一個(gè)Web頁面中鏈接多個(gè)對(duì)象,與Web客戶交互作用。從而可以開發(fā)客戶端的應(yīng)用程序等。它
5、是通過嵌入或調(diào)入在標(biāo)準(zhǔn)的HTML語言中實(shí)現(xiàn)的。它的出現(xiàn)彌補(bǔ)了HTML語言的缺陷,它是Java與HTML折衷的選擇,具有以下幾個(gè)根本特點(diǎn):腳本編寫語言JavaScript是一種腳本語言,它采用小程序段的方式實(shí)現(xiàn)編程。像其它腳本語言一樣,JavaScript同樣已是一種解釋性語言,它提供了一個(gè)易的開發(fā)過程。它的根本構(gòu)造形式與C、C+、VB、Delphi非常類似。但它不像這些語言一樣,需要先編譯,而是在程序運(yùn)行過程中被逐行地解釋。它與HTML標(biāo)識(shí)結(jié)合在一起,從而方便用戶的使用操作?;趯?duì)象的語言JavaScript是一種基于對(duì)象的語言,同時(shí)以可以看作一種面向?qū)ο蟮?。這意味著它能運(yùn)用自己已經(jīng)創(chuàng)立的對(duì)象
6、。因此,許多功能可以來自于腳本環(huán)境中對(duì)象的方法與腳本的互相作用。簡(jiǎn)單性JavaScript的簡(jiǎn)單性主要表達(dá)在:首先它是一種基于Java根本語句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì),從而對(duì)于學(xué)習(xí)Java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴(yán)格的數(shù)據(jù)類型。平安性JavaScript是一種平安性語言,它不允許訪問本地的硬盤,并不能將數(shù)據(jù)存入到效勞器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)展修改和刪除,只能通過閱讀器實(shí)現(xiàn)信息閱讀或動(dòng)態(tài)交互。從而有效地防止數(shù)據(jù)的喪失。動(dòng)態(tài)性JavaScript是動(dòng)態(tài)的,它可以直接對(duì)用戶或客戶輸入做出響應(yīng),無須經(jīng)過Web效勞程序。它對(duì)用戶的反映響應(yīng),是采用以事件驅(qū)動(dòng)的方式進(jìn)
7、展的。所謂事件驅(qū)動(dòng),就是指在主頁Home Page中執(zhí)行了某種操作所產(chǎn)生的動(dòng)作,就稱為"事件"Event。比方按下鼠標(biāo)、挪動(dòng)窗口、選擇菜單等都可以視為事件。當(dāng)事件發(fā)生后,可能會(huì)引起相應(yīng)的事件響應(yīng)??缙脚_(tái)性JavaScript是依賴于閱讀器本身,與操作環(huán)境無關(guān),只要能運(yùn)行閱讀器的計(jì)算機(jī),并支持JavaScript的閱讀器就可正確執(zhí)行。從而實(shí)現(xiàn)了"編寫一次,走遍天下"的夢(mèng)想。實(shí)際上JavaScript最出色之處在于可以用很小的程序做大量的事。無須有高性能的電腦,軟件僅需一個(gè)字處理軟件及一閱讀器,無須WEB效勞器通道,通過自己的電腦即可完成所有的事情。綜合所述
8、JavaScript是一種新的描繪語言,它可以被箝入到HTML的文件之中。JavaScript語言可以做到回應(yīng)使用者的需求事件如:form的輸入,而不用任何的網(wǎng)路來回傳輸資料,所以當(dāng)一位使用者輸入一項(xiàng)資料時(shí),它不用經(jīng)過傳給伺服端server處理,再傳回來的過程,而直接可以被客戶端client的應(yīng)用程式所處理。JavaScript和Java很類似,但到底并不一樣!Java是一種比JavaScript更復(fù)雜許多的程式語言,而JavaScript那么是相當(dāng)容易理解的語言。JavaScript創(chuàng)作者可以不那么注重程式技巧,所以許多Java的特性在Java Script中并不支援。二、JavaScrip
9、t和Java的區(qū)別雖然JavaScript與Java有嚴(yán)密的聯(lián)絡(luò),但卻是兩個(gè)公司開發(fā)的不同的兩個(gè)產(chǎn)品。Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,特別適宜于Internet應(yīng)用程序開發(fā);而JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展Netscape Navigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語言,它的前身是Live Script;而Java的前身是Oak語言。下面對(duì)兩種語言間的異同作如下比較:基于對(duì)象和面向?qū)ο驤ava是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡(jiǎn)單的程序,必須設(shè)計(jì)對(duì)象。JavaScript是種腳本語言,它可
10、以用來制作與網(wǎng)絡(luò)無關(guān)的,與用戶交互作用的復(fù)雜軟件。它是一種基于對(duì)象Object Based和事件驅(qū)動(dòng)Event Driver的編程語言。因此它本身提供了非常豐富的內(nèi)部對(duì)象供設(shè)計(jì)人員使用。解釋和編譯兩種語言在其閱讀器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因此客戶端上必須具有相應(yīng)平臺(tái)上的仿真器或解釋器,它可以通過編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定的平臺(tái)編譯代碼的束縛。JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶編由閱讀器解釋執(zhí)行。強(qiáng)變量和弱變量?jī)煞N語言所采取的變量是不一樣的。Java采用強(qiáng)
11、類型變量檢查,即所有變量在編譯之前必須作聲明。如:Integer x;String y;x=1234;x=4321;其中X=1234說明是一個(gè)整數(shù),Y=4321說明是一個(gè)字符串。JavaScript中變量聲明,采用其弱類型。即變量在使用前不需作聲明,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類型,如:x=1234;y="4321";前者說明x為其數(shù)值型變量,而后者說明y為字符型變量。代碼格式不一樣Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進(jìn)展裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中。JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中
12、,并且可動(dòng)態(tài)裝載。編寫HTML文檔就像編輯文本文件一樣方便。嵌入方式不一樣在HTML文檔中,兩種編程語言的標(biāo)識(shí)不同,JavaScript使用Script./Script來標(biāo)識(shí),而Java使用applet./applet來標(biāo)識(shí)。靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編Java采用靜態(tài)聯(lián)編,即Java的對(duì)象引用必須在編譯時(shí)的進(jìn)展,以使編譯器可以實(shí)現(xiàn)強(qiáng)類型檢查。JavaScript采用動(dòng)態(tài)聯(lián)編,即JavaScript的對(duì)象引用在運(yùn)行時(shí)進(jìn)展檢查,如不經(jīng)編譯那么就無法實(shí)現(xiàn)對(duì)象引用的檢查。三、JavaScript程序運(yùn)行環(huán)境Java運(yùn)行環(huán)境軟件環(huán)境:Windows 95/98或Windows NT。Netscape Navig
13、ator x.0或Internet Explorer x.0。用于編輯HTML文檔的字符編輯器WS、WPS、Notepad、WordPad等或HTML文檔編輯器。硬件配置:首先必須具備運(yùn)行Windows 95/98或Windows NT的根本硬件配置環(huán)境。推薦:根本內(nèi)存32M。CRT只少需要256顏色,分辨率在640X480以上。CPU只少233以上。鼠標(biāo)和其它外部設(shè)置根據(jù)需要選用。四、編寫第一個(gè)JavaScript程序下面我們通過一個(gè)例子,編寫第一個(gè)JavaScript程序。通過它可說明JavaScript的腳本是怎樣被嵌入到HTML文檔中的。test1.html文檔:html head S
14、cript Language="JavaScript"/JavaScript Appears here.alert"這是第一個(gè)JavaScript例子!";alert"歡送你進(jìn)入JavaScript世界!";alert"今后我們將共同學(xué)習(xí)JavaScript知識(shí)!";/Script/Head/Html在Internet Explore5.0中運(yùn)行行后的結(jié)果見圖1-1所示。圖1-1程序運(yùn)行的結(jié)果說明:test.html是HTML文檔,其標(biāo)識(shí)格式為標(biāo)準(zhǔn)的HTML格式;如同HTML標(biāo)識(shí)語言一樣,JavaScript程序代
15、碼是一些可用字處理軟件閱讀的文本,它在描繪頁面的HTML相關(guān)區(qū)域出現(xiàn)。JavaScript代碼由Script Language="JavaScript"./Script說明。在標(biāo)識(shí)Script Language="JavaScript"./Script之間就可參加JavaScript腳本。alert是JavaScript的窗口對(duì)象方法,其功能是彈出一個(gè)具有OK對(duì)話框并顯示中的字符串。通過!-./-標(biāo)識(shí)說明:假設(shè)不認(rèn)識(shí)JavaScript代碼的閱讀器,那么所有在其中的標(biāo)識(shí)均被忽略;假設(shè)認(rèn)識(shí),那么執(zhí)行其結(jié)果。使用注釋這是一個(gè)好的編程習(xí)慣,它使其別人可以讀懂你
16、的語言。JavaScript以/Script標(biāo)簽完畢。從上面的實(shí)例分析中我們可以看出,編寫一個(gè)JavaScript程序確實(shí)非常容易的。二、JavaScript根本數(shù)據(jù)構(gòu)造JavaScript提供腳本語言的編程與C+非常相似,它只是去掉了C語言中有關(guān)指針等容易產(chǎn)生的錯(cuò)誤,并提供了功能強(qiáng)大的類庫。對(duì)于已經(jīng)具備C+或C語言的人來說,學(xué)習(xí)JavaScript腳本語言是一件非常輕松愉快的事。一、JavaScript代碼的參加JavaScript的腳本包括在HTML中,它成為HTML文檔的一部分。與HTML標(biāo)識(shí)相結(jié)合,構(gòu)成了一個(gè)功能強(qiáng)大的Internet網(wǎng)上編程語言??梢灾苯訉avaScript腳本參加
17、文檔:Script Language="JavaScript"JavaScript語言代碼;JavaScript語言代碼;./Script說明:通過標(biāo)識(shí)Script./Script指明JavaScript腳根源代碼將放入其間。通過屬性Language="JavaScript"說明標(biāo)識(shí)中是使用的何種語言,這里是JavaScript語言,表示在JavaScript中使用的語言。下面是將JavaScript腳本參加Web文檔中的例子:Test2.html HTML Head Script Language="JavaScript"docum
18、ent.Write"這是賽迪網(wǎng)互動(dòng)學(xué)校";document.close;/Script/Head/HTML在閱讀器的窗口中調(diào)用test2.html,那么顯示"這是賽迪網(wǎng)互動(dòng)學(xué)校"字串。見圖2所示。圖2說明:Document.write是文檔對(duì)象的輸出函數(shù),其功能是將括號(hào)中的字符或變量值輸出到窗口;document.close是將輸出關(guān)閉。可將Script./Script標(biāo)識(shí)放入head./Head或Body./Body之間。將JavaScript標(biāo)識(shí)放置Head./Head在頭部之間,使之在主頁和其余部分代碼之前裝載,從而可使代碼的功能更強(qiáng)大;可以將Ja
19、vaScript標(biāo)識(shí)放置在Body./Body主體之間以實(shí)現(xiàn)某些部分動(dòng)態(tài)地創(chuàng)立文檔。二、根本數(shù)據(jù)類型JavaScript腳本語言同其它語言一樣,有它自身的根本數(shù)據(jù)類型、表達(dá)式和算術(shù)運(yùn)算符以及程序的根本框架構(gòu)造。JavaScript提供了四種根本的數(shù)據(jù)類型用來處理數(shù)字和文字,而變量提供存放信息的地方,表達(dá)式那么可以完成較復(fù)雜的信息處理。1、根本數(shù)據(jù)類型在JavaScript中四種根本的數(shù)據(jù)類型:數(shù)值整數(shù)和實(shí)數(shù)、字符串型用""號(hào)或''括起來的字符或數(shù)值、布爾型使True或False表示和空值。在JavaScript的根本類型中的數(shù)據(jù)可以是常量,也可以變量。由于J
20、avaScript采用弱類型的形式,因此一個(gè)數(shù)據(jù)的變量或常量不必首先作聲明,而是在使用或賦值時(shí)確定其數(shù)據(jù)的類型的。當(dāng)然也可以先聲明該數(shù)據(jù)的類型,它是通過在賦值時(shí)自動(dòng)說明其數(shù)據(jù)類型的。2、常量整型常量JavaScript的常量通常又稱字面常量,它是不能改變的數(shù)據(jù)。其整型常量可以使用十六進(jìn)制、八進(jìn)制和十進(jìn)制表示其值。實(shí)型常量實(shí)型常量是由整數(shù)部分加小數(shù)部分表示,如12.32、193.98??梢允褂每茖W(xué)或標(biāo)準(zhǔn)方法表示:5E7、4e5等。布爾值布爾常量只有兩種狀態(tài):True或False。它主要用來說明或代表一種狀態(tài)或標(biāo)志,以說明操作流程。它與C+是不一樣的,C+可以用1或0表示其狀態(tài),而JavaScri
21、pt只能用True或False表示其狀態(tài)。字符型常量使用單引號(hào)'或雙引號(hào)"括起來的一個(gè)或幾個(gè)字符。如"This is abook of JavaScript"、"3245"、"ewrt 234234"等??罩礘avaScript中有一個(gè)空值null,表示什么也沒有。如試圖引用沒有定義的變量,那么返回一個(gè)Null值。特殊字符同C語言一樣,JavaScript中同樣以有些以反斜杠/開頭的不可顯示的特殊字符。通常稱為控制字符。3、變量變量的主要作用是存取數(shù)據(jù)、提供存放信息的容器。對(duì)于變量必須明確變量的命名、變量的類型、變量
22、的聲明及其變量的作用域。變量的命名JavaScript中的變量命名同其計(jì)算機(jī)語言非常相似,這里要注意以下兩點(diǎn):A、必須是一個(gè)有效的變量,即變量以字母開頭,中間可以出現(xiàn)數(shù)字如test1、text2等。除下劃線-作為連字符外,變量名稱不能有空格、+、-、,或其它符號(hào)。B、不能使用JavaScript中的關(guān)鍵字作為變量。在JavaScript中定義了40多個(gè)類鍵字,這些關(guān)鍵是JavaScript內(nèi)部使用的,不能作為變量的名稱。如Var、int、double、true不能作為變量的名稱。在對(duì)變量命名時(shí),最好把變量的意義與其代表的意思對(duì)應(yīng)起來,以免出現(xiàn)錯(cuò)誤。變量的類型在JavaScript中,變量可以用
23、命令Var作聲明:var mytest;該例子定義了一個(gè)mytest變量。但沒有賦予它的值。Var mytest="This is abook"該例子定義了一個(gè)mytest變量,同時(shí)賦予了它的值。在JavaScript中,變量以可以不作聲明,而在使用時(shí)再根據(jù)數(shù)據(jù)的類型來確其變量的類型。如:x=100 y="125"xy=True cost=19.5等。其中x整數(shù),y為字符串,xy為布爾型,cost為實(shí)型。變量的聲明及其作用域JavaScript變量可以在使用前先作聲明,并可賦值。通過使用var關(guān)鍵字對(duì)變量作聲明。對(duì)變量作聲明的最大好處就是能及時(shí)發(fā)現(xiàn)代碼中
24、的錯(cuò)誤;因?yàn)镴avaScript是采用動(dòng)態(tài)編譯的,而動(dòng)態(tài)編譯是不易發(fā)現(xiàn)代碼中的錯(cuò)誤,特別是變量命名的方面。對(duì)于變量還有一個(gè)重要性那就是變量的作用域。在JavaScript中同樣有全局變量和部分變量。全局變量是定義在所有函數(shù)體之外,其作用范圍是整個(gè)函數(shù);而部分變量是定義在函數(shù)體之內(nèi),只對(duì)其該函數(shù)是可見的,而對(duì)其它函數(shù)那么是不可見的。三、表達(dá)式和運(yùn)算符1、表達(dá)式在定義完變量后,就可以對(duì)它們進(jìn)展賦值、改變、計(jì)算等一系列操作,這一過程通常又叫稱一個(gè)叫表達(dá)式來完成,可以說它是變量、常量、布爾及運(yùn)算符的集合,因此表達(dá)式可以分為算術(shù)表述式、字串表達(dá)式、賦值表達(dá)式以及布爾表達(dá)式等。2、運(yùn)算符運(yùn)算符完成操作的一
25、系列符號(hào),在JavaScript中有算術(shù)運(yùn)算符,如+、-、*、/等;有比較運(yùn)算符如!=、=等;有邏輯布爾運(yùn)算符如!取反、|、|;有字串運(yùn)算如+、+=等。在JavaScript主要有雙目運(yùn)算符和單目運(yùn)算符。其雙目運(yùn)算符由以下組成:操作數(shù)1運(yùn)算符操作數(shù)2即由兩個(gè)操作數(shù)和一個(gè)運(yùn)算符組成。如50+40、"This"+"that"等。單目運(yùn)算符,只需一個(gè)操作數(shù),其運(yùn)算符可在前或后。1算術(shù)運(yùn)算符JavaScript中的算術(shù)運(yùn)算符有單目運(yùn)算符和雙目運(yùn)算符。雙目運(yùn)算符:+加、-減、*乘、/除、%取模、|按位或、&按位與、左移、右移、右移,零填充。單目運(yùn)算符:-取
26、反、取補(bǔ)、+遞加1、-遞減1。2比較運(yùn)算符比較運(yùn)算符它的根本操作過程是,首先對(duì)它的操作數(shù)進(jìn)展比較,此后再返回一個(gè)true或False值,有8個(gè)比較運(yùn)算符:小于、大于、=小于等于、=大于等于、=等于、!=不等于。3布爾邏輯運(yùn)算符在JavaScript中增加了幾個(gè)布爾邏輯運(yùn)算符:!取反、&=與之后賦值、&邏輯與、|=或之后賦值、|邏輯或、=異或之后賦值、邏輯異或、?:三目操作符、|或、=等于、|=不等于。其中三目操作符主要格式如下:操作數(shù)?結(jié)果1:結(jié)果2假設(shè)操作數(shù)的結(jié)果為真,那么表述式的結(jié)果為結(jié)果1,否那么為結(jié)果2。四、范例下面是一個(gè)跑馬燈效果的JavaScript文檔。Test2
27、_1.html html head script Language="JavaScript"var msg="這是一個(gè)跑馬燈效果的JavaScript文檔";var interval=100;var spacelen=120;var space10="";var seq=0;function Scrolllen=msg.length;window.status=msg.substring0,seq+1;seq+;ifseq=lenseq=spacelen;window.setTimeout"Scroll2;",in
28、terval;else window.setTimeout"Scroll;",interval;function Scroll2var out="";fori=1;i=spacelen/space10.length;i+out+=space10;out=out+msg;len=out.length;window.status=out.substringseq,len;seq+;ifseq=lenseq=0;window.setTimeout"Scroll2;",interval;Scroll;/script body/body/htm
29、l本文介紹了JavaScript腳本是如何參加Web頁面,并學(xué)習(xí)了JavaScript語言中的根本數(shù)據(jù)類型、變量、常量、操作運(yùn)算符等??梢钥闯?,對(duì)于已經(jīng)掌握C+語言的人來說,學(xué)習(xí)JavaScript真是一件非常輕松愉快的事。三、JavaScript程序構(gòu)成JavaScript腳本語言的根本構(gòu)成是由控制語句、函數(shù)、對(duì)象、方法、屬性等,來實(shí)現(xiàn)編程的。一、程序控制流在任何一種語言中,程序控制流是必須的,它能使得整個(gè)程序減小混亂,使之順利按其一定的方式執(zhí)行。下面是JavaScript常用的程序控制流構(gòu)造及語句:1、if條件語句根本格式if表述式語句段1;.else語句段2;.功能:假設(shè)表達(dá)式為true
30、,那么執(zhí)行語句段1;否那么執(zhí)行語句段2。說明:if-else語句是JavaScript中最根本的控制語句,通過它可以改變語句的執(zhí)行順序。表達(dá)式中必須使用關(guān)系語句,來實(shí)現(xiàn)判斷,它是作為一個(gè)布爾值來估算的。它將零和非零的數(shù)分別轉(zhuǎn)化成false和true。假設(shè)if后的語句有多行,那么必須使用花括號(hào)將其括起來。if語句的嵌套if布爾值語句1;else布爾值語句2;else if布爾值語句3;else語句4;在這種情況下,每一級(jí)的布爾表述式都會(huì)被計(jì)算,假設(shè)為真,那么執(zhí)行其相應(yīng)的語句,否那么執(zhí)行else后的語句。2、For循環(huán)語句根本格式for初始化;條件;增量語句集;功能:實(shí)現(xiàn)條件循環(huán),當(dāng)條件成立時(shí),執(zhí)
31、行語句集,否那么跳出循環(huán)體。說明:初始化參數(shù)告訴循環(huán)的開場(chǎng)位置,必須賦予變量的初值;條件:是用于判別循環(huán)停頓時(shí)的條件。假設(shè)條件滿足,那么執(zhí)行循環(huán)體,否那么跳出。增量:主要定義循環(huán)控制變量在每次循環(huán)時(shí)按什么方式變化。三個(gè)主要語句之間,必須使用逗號(hào)分隔。3、while循環(huán)根本格式while條件語句集;該語句與For語句一樣,當(dāng)條件為真時(shí),重復(fù)循環(huán),否那么退出循環(huán)。For與while語句兩種語句都是循環(huán)語句,使用For語句在處理有關(guān)數(shù)字時(shí)更易看懂,也較緊湊;而while循環(huán)對(duì)復(fù)雜的語句效果更特別。4、break和continue語句與C+語言一樣,使用break語句使得循環(huán)從For或while中跳出
32、,continue使得跳過循環(huán)內(nèi)剩余的語句而進(jìn)入下一次循環(huán)。二、函數(shù)函數(shù)為程序設(shè)計(jì)人員提供了一個(gè)豐常方便的才能。通常在進(jìn)展一個(gè)復(fù)雜的程序設(shè)計(jì)時(shí),總是根據(jù)所要完成的功能,將程序劃分為一些相對(duì)獨(dú)立的部分,每部分編寫一個(gè)函數(shù)。從而,使各部分充分獨(dú)立,任務(wù)單一,程序明晰,易懂、易讀、易維護(hù)。JavaScript函數(shù)可以封裝那些在程序中可能要屢次用到的模塊。并可作為事件驅(qū)動(dòng)的結(jié)果而調(diào)用的程序。從而實(shí)現(xiàn)一個(gè)函數(shù)把它與事件驅(qū)動(dòng)相關(guān)聯(lián)。這是與其它語言不樣的地方。1、JavaScript函數(shù)定義Function函數(shù)名參數(shù),變?cè)瘮?shù)體;.Return表達(dá)式;說明:當(dāng)調(diào)用函數(shù)時(shí),所用變量或字面量均可作為變?cè)獋鬟f。函
33、數(shù)由關(guān)鍵字Function定義。函數(shù)名:定義自己函數(shù)的名字。參數(shù)表,是傳遞給函數(shù)使用或操作的值,其值可以是常量,變量或其它表達(dá)式。通過指定函數(shù)名實(shí)參來調(diào)用一個(gè)函數(shù)。必須使用Return將值返回。函數(shù)名對(duì)大小寫是敏感的。2、函數(shù)中的形式參數(shù):在函數(shù)的定義中,我們看到函數(shù)名后有參數(shù)表,這些參數(shù)變量可能是一個(gè)或幾個(gè)。那么怎樣才能確定參數(shù)變量的個(gè)數(shù)呢?在JavaScript中可通過arguments.Length來檢查參數(shù)的個(gè)數(shù)。例:Function function_Nameexp1,exp2,exp3,exp4Number=function _Name.arguments.length;ifNum
34、ber 1document.wrileexp2;ifNumber 2document.writeexp3;ifNumber 3document.writeexp4;.三、事件驅(qū)動(dòng)及事件處理1、根本概念JavaScript是基于對(duì)象object-based的語言。這與Java不同,Java是面向?qū)ο蟮恼Z言。而基于對(duì)象的根本特征,就是采用事件驅(qū)動(dòng)event-driven。它是在用形界面的環(huán)境下,使得一切輸入變化簡(jiǎn)單化。通常鼠標(biāo)或熱鍵的動(dòng)作我們稱之為事件Event,而由鼠標(biāo)或熱鍵引發(fā)的一連串程序的動(dòng)作,稱之為事件驅(qū)動(dòng)Event Driver。而對(duì)事件進(jìn)展處理程序或函數(shù),我們稱之為事件處理程序Even
35、t Handler。2、事件處理程序在JavaScript中對(duì)象事件的處理通常由函數(shù)Function擔(dān)任。其根本格式與函數(shù)全部一樣,可以將前面所介紹的所有函數(shù)作為事件處理程序。格式如下:Function事件處理名參數(shù)表事件處理語句集;3、事件驅(qū)動(dòng)JavaScript事件驅(qū)動(dòng)中的事件是通過鼠標(biāo)或熱鍵的動(dòng)作引發(fā)的。它主要有以下幾個(gè)事件:1單擊事件onClick當(dāng)用戶單擊鼠標(biāo)按鈕時(shí),產(chǎn)生onClick事件。同時(shí)onClick指定的事件處理程序或代碼將被調(diào)用執(zhí)行。通常在以下根本對(duì)象中產(chǎn)生:button按鈕對(duì)象checkbox復(fù)選框或檢查列表框radio單項(xiàng)選擇鈕reset buttons重要按鈕sub
36、mit buttons提交按鈕例:可通過以下按鈕激活change文件:Form Input type="button"Value=""onClick="change"/Form在onClick等號(hào)后,可以使用自己編寫的函數(shù)作為事件處理程序,也可以使用JavaScript中內(nèi)部的函數(shù)。還可以直接使用JavaScript的代碼等。例:Input type="button"value=""onclick=alert"這是一個(gè)例子";2onChange改變事件當(dāng)利用text或text
37、urea元素輸入字符值改變時(shí)發(fā)該事件,同時(shí)當(dāng)在select表格項(xiàng)中一個(gè)選項(xiàng)狀態(tài)改變后也會(huì)引發(fā)該事件。例:Form Input type="text"name="Test"value="Test"onCharge="check'this.test"/Form3選中事件onSelect當(dāng)Text或Textarea對(duì)象中的文字被加亮后,引發(fā)該事件。4獲得焦點(diǎn)事件onFocus當(dāng)用戶單擊Text或textarea以及select對(duì)象時(shí),產(chǎn)生該事件。此時(shí)該對(duì)象成為前臺(tái)對(duì)象。5失去焦點(diǎn)onBlur當(dāng)text對(duì)象或tex
38、tarea對(duì)象以及select對(duì)象不再擁有焦點(diǎn)、而退到后臺(tái)時(shí),引發(fā)該文件,他與onFocas事件是一個(gè)對(duì)應(yīng)的關(guān)系。6載入文件onLoad當(dāng)文檔載入時(shí),產(chǎn)生該事件。onLoad一個(gè)作用就是在首次載入一個(gè)文檔時(shí)檢測(cè)cookie的值,并用一個(gè)變量為其賦值,使它可以被源代碼使用。7卸載文件onUnload當(dāng)Web頁面退出時(shí)引發(fā)onUnload事件,并可更新Cookie的狀態(tài)。四、范例范例1:下例程序是一個(gè)自動(dòng)裝載和自動(dòng)卸載的例子。即當(dāng)裝入HTML文檔時(shí)調(diào)用loadform函數(shù),而退出該文檔進(jìn)入另一HTML文檔時(shí)那么首先調(diào)用unloadform函數(shù),確認(rèn)前方可進(jìn)入。test3_1.htm HTML HE
39、AD script Language="JavaScript"!-function loadformalert"這是一個(gè)自動(dòng)裝載例子!";function unloadformalert"這是一個(gè)卸載例子!";/-/Script/HEAD BODY OnLoad="loadform"OnUnload="unloadform"a href="test.htm"調(diào)用/a/BODY/HTML范例2:這是一個(gè)獲取閱讀器版本號(hào)的程序。該程序首先顯示一個(gè)波浪一提示信息。之后顯示閱讀器的版
40、本號(hào)有關(guān)信息。test3_2.htm html head script language="JavaScript"!-/-function makeArraynthis.length=n return thisfunction hexfromdecnumhex=new makeArray1;var hexstring="";var shifthex=16;var temp1=num;forx=1;x=0;x-hexx=Math.roundtemp1/shifthex-.5;hexx-1=temp1-hexx*shifthex;temp1=hexx-1;s
41、hifthex/=16;forx=1;x=0;x-hexstring+=getletterhexx;returnhexstring;function getletternumifnum 10return num;elseifnum=10return"A"ifnum=11return"B"ifnum=12return"C"ifnum=13return"D"ifnum=14return"E"ifnum=15return"F"function rainbowtextvar colo
42、r_d1;var allstring="";fori=0;i text.length;i=i+2color_d1=255*Math.sini/text.length/3;color_h1=hexfromdeccolor_d1;allstring+="FONT COLOR="+color_h1+"ff"+color_h1+""+text.substringi,i+2+"/FONT";return allstring;function sizefonttextvar color_d1;var all
43、string="";var flag=0;fori=0,j=0;i text.length;i=i+1ifflag=0j+;ifj=7flag=1;ifflag=1j=j-1;ifj=0flag=0;allstring+="FONT SIZE="+j+""+text.substringi,i+1+"/FONT";return allstring;document.write"font size=8 CENTER"document.write"BR BR"document.wr
44、itesizefont"這是一個(gè)獲取WEB閱讀器的程序"document.write"/CENTER/font"document.write"閱讀器名稱:"+navigator.appName+"br";document.write"版本號(hào):"+navigator.appVersion+"br";document.write"代碼名字:"+navigator.appCodeName+"br";document.write"用戶
45、代理標(biāo)識(shí):"+navigator.userAgent;/script body/body/html輸出結(jié)果圖1所示。圖1本講介紹了JavaScript程序設(shè)計(jì)的有關(guān)內(nèi)容。程序流、函數(shù)、事件是我們學(xué)習(xí)掌握J(rèn)avaScript編程的重點(diǎn)。四、基于對(duì)象的JavaScript語言JavaScript語言是基于對(duì)象的Object-Based,而不是面向?qū)ο蟮膐bject-oriented。之所以說它是一門基于對(duì)象的語言,主要是因?yàn)樗鼪]有提供象抽象、繼承、重載等有關(guān)面向?qū)ο笳Z言的許多功能。而是把其它語言所創(chuàng)立的復(fù)雜對(duì)象統(tǒng)一起來,從而形成一個(gè)非常強(qiáng)大的對(duì)象系統(tǒng)。雖然JavaScript語言是一門基
46、于對(duì)象的,但它還是具有一些面向?qū)ο蟮母咎卣?。它可以根?jù)需要?jiǎng)?chuàng)立自己的對(duì)象,從而進(jìn)一步擴(kuò)大JavaScript的應(yīng)用范圍,增強(qiáng)編寫功能強(qiáng)大的Web文檔。一、對(duì)象的根底知識(shí)1、對(duì)象的根本構(gòu)造JavaScript中的對(duì)象是由屬性properties和方法methods兩個(gè)根本的元素的構(gòu)成的。前者是對(duì)象在施行其所需要行為的過程中,實(shí)現(xiàn)信息的裝載單位,從而與變量相關(guān)聯(lián);后者是指對(duì)象可以按照設(shè)計(jì)者的意圖而被執(zhí)行,從而與特定的函數(shù)相聯(lián)。2、引用對(duì)象的途徑一個(gè)對(duì)象要真正地被使用,可采用以下幾種方式獲得:o引用JavaScript內(nèi)部對(duì)象;o由閱讀器環(huán)境中提供;o創(chuàng)立新對(duì)象。這就是說一個(gè)對(duì)象在被引用之前,這個(gè)
47、對(duì)象必須存在,否那么引用將毫無意義,而出現(xiàn)錯(cuò)誤信息。從上面中我們可以看出JavaScript引用對(duì)象可通過三種方式獲取。要么創(chuàng)立新的對(duì)象,要么利用現(xiàn)存的對(duì)象。3、有關(guān)對(duì)象操作語句JavaScript不是一純面向?qū)ο蟮恼Z言,它設(shè)有提供面向?qū)ο笳Z言的許多功能,因此JavaScript設(shè)計(jì)者之所以把它你"基于對(duì)象"而不是面向?qū)ο蟮恼Z言,在JavaScript中提供了幾個(gè)用于操作對(duì)象的語句和關(guān)鍵字及運(yùn)算符。1For.in語句格式如下:For對(duì)象屬性名in對(duì)象名說明:o該語句的功能是用于對(duì)對(duì)象的所有屬性進(jìn)展操作的控制循環(huán)。它是將一個(gè)對(duì)象的所有屬性反復(fù)置給一個(gè)變量;而不是使用計(jì)數(shù)器來實(shí)
48、現(xiàn)的。o該語句的優(yōu)點(diǎn)就是無需知道對(duì)象中屬性的個(gè)數(shù)即可進(jìn)展操作。例:以下函數(shù)是顯示數(shù)組中的內(nèi)容:Function showDataobjectforvar X=0;X 30;X+document.writeobject;該函數(shù)是通過數(shù)組下標(biāo)順序值,來訪問每個(gè)對(duì)象的屬性,使用這種方式首先必須知道數(shù)組的下標(biāo)值,否那么假設(shè)超出范圍,那么就會(huì)發(fā)生錯(cuò)誤。而使For.in語句,那么根本不需要知道對(duì)象屬性的個(gè)數(shù),見下:Function showDataobjectforvar prop in objectdocument.writeobjectprop;使用該函數(shù)時(shí),在循環(huán)體中,F(xiàn)or自動(dòng)將的屬性取出來,直到
49、最后為此。2with語句使用該語句的意思是:在該語句體內(nèi),任何對(duì)變量的引用被認(rèn)為是這個(gè)對(duì)象的屬性,以節(jié)省一些代碼。with object.所有在with語句后的花括號(hào)中的語句,都是在后面object對(duì)象的作用域的。3this關(guān)鍵字this是對(duì)當(dāng)前的引用,在JavaScript由于對(duì)象的引用是多層次,多方位的,往往一個(gè)對(duì)象的引用又需要對(duì)另一個(gè)對(duì)象的引用,而另一個(gè)對(duì)象有可能又要引用另一個(gè)對(duì)象,這樣有可能造成混亂,最后自己已不知道如今引用的那一個(gè)對(duì)象,為此JavaScript提供了一個(gè)用于將對(duì)象指定當(dāng)前對(duì)象的語句this。4New運(yùn)算符雖然在JavaScript中對(duì)象的功能已經(jīng)是非常強(qiáng)大的了。但更強(qiáng)
50、大的是設(shè)計(jì)人員可以按照需求來創(chuàng)立自己的對(duì)象,以滿足某一特定的要求。使用New運(yùn)算符可以創(chuàng)立一個(gè)新的對(duì)象。其創(chuàng)立對(duì)象使用如下格式:Newobject=NEW ObjectParameters table;其中Newobject創(chuàng)立的新對(duì)象:object是已經(jīng)存在的對(duì)象;parameters table參數(shù)表;new是JavaScript中的命令語句。如創(chuàng)立一個(gè)日期新對(duì)象newData=New Databirthday=New DataDecember 12.1998之后就可使NewData、birthday作為一個(gè)新的日期對(duì)象了。4、對(duì)象屬性的引用對(duì)象屬性的引用可由以下三種方式之一實(shí)現(xiàn):1使用點(diǎn)
51、.運(yùn)算符university.Name="云南省"university.city="昆明市"university.Date="1999"其中university是一個(gè)已經(jīng)存在的對(duì)象,Name、City、Date是它的三個(gè)屬性,并通過操作對(duì)其賦值。2通過對(duì)象的下標(biāo)實(shí)現(xiàn)引用university0="云南"university1="昆明市"university2="1999"通過數(shù)組形式的訪問屬性,可以使用循環(huán)操作獲取其值。function showunievsityobjectf
52、orvar j=0;j 2;j+document.writeobjectj假設(shè)采用For.in那么可以不知其屬性的個(gè)數(shù)后就可以實(shí)現(xiàn):Function showmyobjectforvar prop in thisdocament.writethisprop;3通過字符串的形式實(shí)現(xiàn)university"Name"="云南"university"City"="昆明市"university"Date"="1999"5、對(duì)象的方法的引用在JavaScript中對(duì)象方法的引用是非常簡(jiǎn)單
53、的。ObjectName.methods實(shí)際上methods=FunctionName方法本質(zhì)上是一個(gè)函數(shù)。如引用university對(duì)象中的showmy方法,那么可使用:document.writeuniversity.showmy或:document.writeuniversity如引用math內(nèi)部對(duì)象中cos的方法那么:withmathdocument.writecos35;document.writecos80;假設(shè)不使用with那么引用時(shí)相對(duì)要復(fù)雜些:document.writeMath.cos35document.writemath.sin80二、常用對(duì)象的屬性和方法JavaScr
54、ipt為我們提供了一些非常有用的常用內(nèi)部對(duì)象和方法。用戶不需要用腳本來實(shí)現(xiàn)這些功能。這正是基于對(duì)象編程的真正目的。在JavaScript提供了string字符串、math數(shù)值計(jì)算和Date日期三種對(duì)象和其它一些相關(guān)的方法。從而為編程人員快速開發(fā)強(qiáng)大的腳本程序提供了非常有利的條件。1、常用內(nèi)部對(duì)象在JavaScript中對(duì)于對(duì)象屬性與方法的引用,有兩種情況:其一是說該對(duì)象是靜態(tài)對(duì)象,即在引用該對(duì)象的屬性或方法時(shí)不需要為它創(chuàng)立實(shí)例;而另一種對(duì)象那么在引用它的對(duì)象或方法是必須為它創(chuàng)立一個(gè)實(shí)例,即該對(duì)象是動(dòng)態(tài)對(duì)象。對(duì)JavaScript內(nèi)部對(duì)象的引用,以是緊緊圍繞著它的屬性與方法進(jìn)展的。因此明確對(duì)象的
55、靜動(dòng)性對(duì)于掌握和理解JavaScript內(nèi)部對(duì)象是具有非常重要的意義。1、串對(duì)象o string對(duì)象:內(nèi)部靜態(tài)性。o訪問properties和methods時(shí),可使用.運(yùn)算符實(shí)現(xiàn)。o根本使用格式:objectNp/methods1串對(duì)象的屬性該對(duì)象只有一個(gè)屬性,即length。它說明了字符串中的字符個(gè)數(shù),包括所有符號(hào)。例:mytest="This is aJavaScript"mystringlength=mytest.length最后mystringlength返回mytest字串的長度為20。2串對(duì)象的方法string對(duì)象的方法共有19個(gè)。主要用于有關(guān)字符
56、串在Web頁面中的顯示、字體大小、字體顏色、字符的搜索以及字符的大小寫轉(zhuǎn)換。其主要方法如下:o錨點(diǎn)anchor:該方法創(chuàng)立如用Html文檔中一樣的anchor標(biāo)記。使用anchor如用Html中A Name=""一樣。通過以下格式訪問:string.anchoranchorName。o有關(guān)字符顯示的控制方法big字體顯示,Italics斜體字顯示,bold粗體字顯示,blink字符閃爍顯示,small字符用小體字顯示,fixed固定高亮字顯示、fontsizesize控制字體大小等。o字體顏色方法;fontcolorcoloro字符串大小寫轉(zhuǎn)換toLowerCase-小寫轉(zhuǎn)
57、換,toUpperCase大寫轉(zhuǎn)換。以下把一個(gè)給定的串分別轉(zhuǎn)換成大寫和小寫格式:string=stringValue.toUpperCase和string=stringValue.toLowerCase。o字符搜索:indexOfcharactor,fromIndex從指定formIndtx位置開場(chǎng)搜索charactor第一次出現(xiàn)的位置。返回字串的一部分字串:substringstart,end從start開場(chǎng)到end的字符全部返回。2、算術(shù)函數(shù)的math對(duì)象功能:提供除加、減、乘、除以外的一引些自述運(yùn)算。如對(duì)數(shù),平方根等。靜動(dòng)性:靜態(tài)對(duì)象1主要屬性math中提供了6個(gè)屬性,它們是數(shù)學(xué)中經(jīng)常用到的常數(shù)E、以10為底的自然對(duì)數(shù)LN10、以2為底的自然對(duì)數(shù)LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根為SQRT2。2主要方法絕對(duì)值:abs正弦余弦值:sin,cos反正弦反余弦:asin,acos正切反正切:tan,atan四舍五入:round平方根:sqrt基于幾方次
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 常熟市事業(yè)單位招聘工作人員真題2024
- 2024年和田市市屬事業(yè)單位考試真題
- 2025年止血用醫(yī)用生物蛋白膠合作協(xié)議書
- 2025年高純超細(xì)石英粉合作協(xié)議書
- 安全標(biāo)準(zhǔn)化安全培訓(xùn)考試題(審定版)
- 職工安全培訓(xùn)試題及參考答案【滿分必刷】
- 公司項(xiàng)目部管理人員安全培訓(xùn)試題附參考答案(典型題)
- 運(yùn)動(dòng)品牌帶貨主播工作職責(zé)
- 機(jī)械制造行業(yè)質(zhì)量審核流程
- 2025年教育行業(yè)主任工作總結(jié)及未來發(fā)展計(jì)劃
- 2024版互聯(lián)網(wǎng)企業(yè)股東合作協(xié)議書范本3篇
- 合規(guī)教育培訓(xùn)
- 加油站安全檢查表
- 化工設(shè)備安全操作規(guī)程
- 工業(yè)發(fā)展現(xiàn)狀及未來趨勢(shì)分析 匯報(bào)材料
- 信用管理與客戶信用評(píng)估制度
- 2024年中國家具浸漬紙市場(chǎng)調(diào)查研究報(bào)告
- 2024年版《輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊(cè)》
- 委托裝修合同范本
- 2024-2030年中國石榴花提取物行業(yè)發(fā)展動(dòng)態(tài)及供需前景預(yù)測(cè)報(bào)告
- UL859(個(gè)人修飾電器標(biāo)準(zhǔn))中文
評(píng)論
0/150
提交評(píng)論