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