下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一講JavaScript言概第二講JavaScript本數(shù)據(jù)結(jié)構(gòu)第三講JavaScript程序構(gòu)成第四講基于對(duì)象的JavaScript第五講創(chuàng)建新對(duì)象第六講使用對(duì)象系統(tǒng)第七講窗口及輸入輸出第八講WEB面信息的交互第九講實(shí)現(xiàn)更復(fù)雜的交互第一講JavaScript言概Internet時(shí)代,造就了我們新的工作和生活方式,其互聯(lián)性、開(kāi)放性和共享信息的模式,打破了傳統(tǒng)信息方式的重重壁壘著。隨著Internet技術(shù)的突飛猛進(jìn),各行各業(yè)都在加入Internet的行業(yè)中來(lái)。無(wú)論從管理方面,還是從商業(yè)角度來(lái)看,Internet都可以帶來(lái)無(wú)限生機(jī)。通過(guò)Internet,可以實(shí)現(xiàn)地區(qū)、集體乃至個(gè)人的連接,從而達(dá)到一種“統(tǒng)一的和諧”。那么怎樣把自己的或公司的信息資源加入到WWW服務(wù)器,是廣大用戶日心的問(wèn)題。采用超鏈技術(shù)(超文本和超技術(shù))是實(shí)現(xiàn)這個(gè)目標(biāo)最簡(jiǎn)單的、最快速的和途徑。具體實(shí)現(xiàn)這種的支持環(huán)境,那就是HTML超文本標(biāo)識(shí)語(yǔ)言。通過(guò)它們可制作所需的Web網(wǎng)頁(yè)。(web) ),實(shí)現(xiàn)Internet上的“漫游”。通過(guò)HTML符號(hào)的描述就可以實(shí)現(xiàn)文字、表格、聲音、圖像、動(dòng)畫(huà)等多信息的然而采用這種超鏈技術(shù)存在有一定的缺陷就是它只能提供一種靜態(tài)的信息資源缺少動(dòng)態(tài)的客戶端與服務(wù)器端的交互雖然可CGI(CommonGatewayInterface)通用網(wǎng)關(guān)接口實(shí)現(xiàn)一定的交互,但由于該方法編程較為復(fù)雜,因而在一段時(shí)間防礙了Internet術(shù)的發(fā)展。而JavaScript的出現(xiàn),無(wú)凝為Internet網(wǎng)上用戶帶來(lái)了一線生機(jī)??梢赃@樣說(shuō),JavaScript的出現(xiàn)是時(shí)代的需求,是的信息時(shí)代造就了JavaScript。JavaScript的出現(xiàn),它可以使得信息和用戶之間不僅只是一種顯示和瀏覽的關(guān)系,而是實(shí)現(xiàn)了一種實(shí)時(shí)的、動(dòng)態(tài)的、可交式的表達(dá)能力。從而基于CGI靜態(tài)的HTML頁(yè)面將被可提供動(dòng)態(tài)實(shí)時(shí)信息,并對(duì)客戶操作進(jìn)行反應(yīng)的Web頁(yè)面的取代。JavaScript正是滿絡(luò)計(jì)算和網(wǎng)絡(luò)計(jì)算機(jī)的藍(lán)圖。無(wú)凝Java將占領(lǐng)Internet網(wǎng)絡(luò)的主導(dǎo)地位。因此,盡快掌握J(rèn)avaScript語(yǔ)言編程方法是我國(guó)廣大用戶日心的。一、什么是JavaScript是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(EventDriven)并具有安全性能的語(yǔ)言使用它的目的是與HTML超文本標(biāo)記語(yǔ)言、Java語(yǔ)言(Java小程序)一起實(shí)現(xiàn)在一個(gè)Web頁(yè)面中多個(gè)對(duì)象,與Web客戶交互作用。從而可以開(kāi)發(fā)客戶端的應(yīng)用程序等。它是通過(guò)嵌入或調(diào)入在標(biāo)準(zhǔn)的HTML言中實(shí)現(xiàn)的。它的出現(xiàn)彌補(bǔ)了HTML言的缺陷,它是JavaHTML衷的選擇,具有是一種編寫(xiě)語(yǔ)JavaScript是一種語(yǔ)言,它采用小程序段的方式實(shí)現(xiàn)編程。像其它語(yǔ)言一樣,JavaScript同樣已是一種解釋性語(yǔ)言,它提供了一它的基本結(jié)構(gòu)形式與C、C++、VB、Delphi分類(lèi)似。但它不像這些語(yǔ)言一樣,需要先編譯,而是在程序運(yùn)行過(guò)程中被逐行地解釋。它與HTML標(biāo)識(shí)結(jié)合在一起,從而方便用戶的使用操作?;趯?duì)象的語(yǔ)言JavaScript是一種基于對(duì)象的語(yǔ)言,同時(shí)以可以看作一種面向?qū)ο蟮摹_@意味著它能運(yùn)用自己已經(jīng)創(chuàng)建的對(duì)象。因此,許多功能可JavaScript簡(jiǎn)單性主要體現(xiàn)在首先它是一種基于Java本語(yǔ)句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì),從而對(duì)于學(xué)習(xí)Java一種非常安全JavaScript是一種安全性語(yǔ)言,它不允許本地的硬盤(pán),并不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能動(dòng)態(tài)性方式進(jìn)行的。所謂事件驅(qū)動(dòng),就是指在主頁(yè)(HomePage)中執(zhí)行了某種操作所產(chǎn)生的動(dòng)作,就稱(chēng)為“事件”(Event)。比如按下鼠標(biāo)、跨平臺(tái)JavaScript依賴(lài)于瀏覽器本身,與操作環(huán)境無(wú)關(guān),只要能運(yùn)行瀏覽器的計(jì)算機(jī),并支持JavaScript瀏覽器就可正確執(zhí)行。從而實(shí)須WEB服務(wù)器通道,通過(guò)自己的電腦即可完成所有的事情。綜合所述JavaScript是一種新的描述語(yǔ)言,它可以被箝入到HTML的文件之中。JavaScript言可以做到回應(yīng)使用者的需求事(如:form的輸入),而不用任何的網(wǎng)路來(lái)回傳輸資料,所以當(dāng)一位使用者輸入一項(xiàng)資料時(shí),它不用經(jīng)過(guò)傳給伺服端(server)處理,再傳回來(lái)的過(guò)程,而直接可以被客戶端(client)的應(yīng)用程式所處理。JavaScript和Java很類(lèi)似但到底并不一樣!Java是一種比JavaScript更復(fù)雜許多的程式語(yǔ)言,而JavaScript則是相當(dāng)容易了解的語(yǔ)言。JavaScript創(chuàng)作者可以不那麼注重程式技巧,所以許多Java的特性在JavaScript中并不支援。二、JavaScript和Java的區(qū)語(yǔ)言,特別適合于Internet用程序開(kāi)發(fā);而JavaScriptNetscape司的產(chǎn)品,其目的是為了擴(kuò)展NetscapeNavigator能,而開(kāi)發(fā)的一種可以嵌入Web面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語(yǔ)言,它的前身是LiveScript;而Java前身是Oak言。下面基于對(duì)象和面向?qū)ava是一種真正的面向?qū)ο蟮恼Z(yǔ)言,即使是開(kāi)發(fā)簡(jiǎn)單的程序,必須設(shè)計(jì)對(duì)象JavaScript是種語(yǔ)言,它可以用來(lái)制作與網(wǎng)絡(luò)無(wú)關(guān)的,與用戶交互作用的復(fù)雜軟件。它是一種基于對(duì)象(ObjectBased)和事件驅(qū)動(dòng)(EventDriver)的編程語(yǔ)言。因而它本身提供了非常豐富的對(duì)象供設(shè)計(jì)使用。解釋和編強(qiáng)變量和弱變兩種語(yǔ)言所采取的變量是不一樣的Java采用強(qiáng)類(lèi)型變量檢查,即所有變量在編譯之前必須作。如:Integerx;Stringy;其中X=1234說(shuō)明是一個(gè)整數(shù),Y=4321說(shuō)明是一個(gè)字符串JavaScript中變量,采用其弱類(lèi)型。即變量在使用前不需作,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類(lèi)型,如前者說(shuō)明x為其數(shù)值型變量,而后者說(shuō)明y為字符型變量代碼格式不一Java是一種與HTML無(wú)關(guān)的格式,必須通過(guò)像HTML中外那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中。JavaScript代碼是一種文本字符格式可以直接嵌入HTML并且可動(dòng)態(tài)裝載編寫(xiě)HTML檔就像編輯文本文件一樣方便。靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)Java采用靜態(tài)聯(lián)編,即Java的對(duì)象必須在編譯時(shí)的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類(lèi)型檢查JavaScript采用動(dòng)態(tài)聯(lián)編,即JavaScript的對(duì)象在運(yùn)行時(shí)進(jìn)行檢查,如不經(jīng)編譯則就無(wú)法實(shí)現(xiàn)對(duì)象的檢查三、JavaScript程序運(yùn)行環(huán)1.Java行環(huán)境Windows95/98或WindowsNTNetscapeNavigatorx.0InternetExplorerx.0用于編輯HTML的字符編輯器(WS、WPS、Notepad、WordPadHTML編輯器。首先必須具備運(yùn)行Windows95/98或WindowsNT的基本硬件配置環(huán)境。推薦基本內(nèi)存32MCRT只少需要256顏色,分辨率在640X480以上CPU少233上鼠標(biāo)和其它外部設(shè)置(根據(jù)需要選用)四、編寫(xiě)第一個(gè)JavaScript程下面我們通過(guò)一個(gè)例子,編寫(xiě)第一個(gè)JavaScript程序。通過(guò)它可說(shuō)明JavaScript的是怎樣被嵌入到HTML文檔中的test1.html文檔<ScriptLanguage//JavaScriptAppearsalert("這是第一個(gè)JavaScript子!");alert("歡迎你進(jìn)入JavaScript世界alert("今后共同學(xué)習(xí)JavaScript知識(shí)在InternetExplore5.0中運(yùn)行行后的結(jié)果見(jiàn)圖1-1所示圖1-1程序運(yùn)行的結(jié)說(shuō)明test.html是HTML文檔,其標(biāo)識(shí)格式為標(biāo)準(zhǔn)的HTML格式如同HTML標(biāo)識(shí)語(yǔ)言一樣,JavaScript程序代碼是一些可用字處理軟件瀏覽的文本,它在描述頁(yè)面的HTML相關(guān)區(qū)域出現(xiàn)JavaScript碼由<ScriptLanguageJavaScript">...</Script>說(shuō)明。在標(biāo)識(shí)<ScriptLanguage之間就可加入JavaScriptalert()是JavaScript的窗口對(duì)象方法,其功能是彈出一個(gè)具有OK框并顯示()中的字符這是一個(gè)好的編程,它使其他人可以讀懂你的語(yǔ)言。JavaScript以</Script>結(jié)束從上面的實(shí)例分析中我們可以看出,編寫(xiě)一個(gè)JavaScript程序確實(shí)非常容易的第二講JavaScript本數(shù)據(jù)結(jié)對(duì)于已經(jīng)具備C++或C語(yǔ)言的人來(lái)說(shuō),學(xué)習(xí)JavaScript語(yǔ)言是一件非常輕松愉快的事。一、JavaScript代碼的加JavaScript的包括在HTML中,它成為HTML文檔的一部分。與HTML標(biāo)識(shí)相結(jié)合,構(gòu)成了一個(gè)功能強(qiáng)大的Internet網(wǎng)上編程語(yǔ)言??梢灾苯訉avaScript加入文檔:<ScriptLanguageJavaScript">JavaScript語(yǔ)言代碼;JavaScript語(yǔ)言代碼說(shuō)明通過(guò)標(biāo)識(shí)<Script>...</Script>指明JavaScript源代碼將放入其間通過(guò)屬性Language="JavaScript"說(shuō)明標(biāo)識(shí)中是使用的何種語(yǔ)言,這里是JavaScript語(yǔ)言,表示在JavaScript中使用的語(yǔ)言下面是將JavaScript加入Web文檔中的例子:<ScriptLanguage.Write("這是電腦報(bào)網(wǎng)絡(luò)學(xué)校.在瀏覽器的窗口中調(diào)用test2.html,則顯示“這是電腦報(bào)網(wǎng)絡(luò)學(xué)?!弊执?。見(jiàn)圖2.write()是文檔對(duì)象的輸出函數(shù),其功能是將括號(hào)中的字符或變量值輸出到窗口 .close()是將輸出關(guān)閉可將<Script>...</Script>標(biāo)識(shí)放入head>..</Head>或<Body>...</Body>之間。將JavaScript標(biāo)識(shí)放置<Head>...在頭部之間,使之在主頁(yè)和其余部分代碼之前裝載,從而可使代碼的功能更強(qiáng)大;可以將JavaScript標(biāo)識(shí)放置在<Body>...JavaScript語(yǔ)言同其它語(yǔ)言一樣,有它自身的基本數(shù)據(jù)類(lèi)型、表達(dá)式和算術(shù)運(yùn)算符以及程序的基本框架結(jié)構(gòu)。JavaScript提供了四種基本的數(shù)據(jù)類(lèi)型用來(lái)處理數(shù)字和文字,而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。1、基本數(shù)據(jù)類(lèi)False表示)和空值。在JavaScript基本類(lèi)型中的數(shù)據(jù)可以是常量,也可以變量。由于JavaScript用弱類(lèi)型的形式,因而一個(gè)數(shù)2、常整型常實(shí)型常量是由整數(shù)部分加小數(shù)部分表示,如12.32、193.98。可以使用科學(xué)或標(biāo)準(zhǔn)方法表示:5E7、4e5。它以用1或0表示其狀態(tài),而JavaScript只能用True或False表示其狀態(tài)。字符型常使用單引號(hào)(‘)或雙引號(hào)(“)括起來(lái)的一個(gè)或幾個(gè)字符。如"ThisisabookofJavaScript3245"、"ewrt234234"等。JavaScript中有一個(gè)空值null,表示什么也沒(méi)有。如試圖沒(méi)有定義的變量,則返回一個(gè)Null值。同C語(yǔ)言一樣,JavaScript中同樣以有些以反斜杠(/)開(kāi)頭的不可顯示的特殊字符。通常稱(chēng)為控制字符3、變變量的主要作用是存取數(shù)據(jù)、提供存放信息的容器。對(duì)于變量必須明確變量名、變量的類(lèi)型、變量的及其變量的作用域變量JavaScript中的變量命名同其計(jì)算機(jī)語(yǔ)言非常相似,這里要注意以下兩點(diǎn)A、必須是一個(gè)有效的變量,即變量以字母開(kāi)頭,中間可以出現(xiàn)數(shù)字如test1、text2。除下劃線(-)作為連字符外,變量名稱(chēng)不B、不能使用JavaScript中的關(guān)鍵字作為變量在JavaScript中定義了40多個(gè)類(lèi)鍵字,這些關(guān)鍵是JavaScript的,不能作為變量的名稱(chēng)。如Var、int、double、true不在JavaScript中,變量可以用命令Var作var該例子定義了一個(gè)mytest量。但沒(méi)有賦予它的值。Varmytest=”Thisisabook”該例子定義了一個(gè)mytest量,同時(shí)賦予了它的值在JavaScript中,變量以可以不作,而在使用時(shí)再根據(jù)數(shù)據(jù)的類(lèi)型來(lái)確其變量的類(lèi)型。xy=Truecost=19.5其中x整數(shù),y為字符串,xy為型,cost為實(shí)型。JavaScript變量可以在使用前先作并可賦值通過(guò)使用var關(guān)鍵字對(duì)變量作對(duì)變量作的最大好處就是發(fā)現(xiàn)代中的錯(cuò)誤;因?yàn)镴avaScript是采用動(dòng)態(tài)編譯的,而動(dòng)態(tài)編譯是不易發(fā)現(xiàn)代碼中的錯(cuò)誤,特別是變量命名的方面對(duì)于變量還有一個(gè)重要性──那就是變量的作用域。在JavaScript同樣有全局變量和局部變量。全局變量是定義在所有函數(shù)體之外,在定義完變量后,就可以對(duì)它們進(jìn)行賦值、改變、計(jì)算等一系列操作,這一過(guò)程通常又叫稱(chēng)一個(gè)叫表達(dá)式來(lái)完成,可以說(shuō)它是變量運(yùn)算符完成操作的一系列符號(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)算+(加)、-(減)、*(乘)、/(除)、%(取模)、|(按位或)、&(按位與)、<<(左移)、>>(右移)、>>>(右移,單目運(yùn)算符-(取反)、~(取補(bǔ))、++(遞加1)、--(遞減1)(2)比較運(yùn)算比較運(yùn)算符它的基本操作過(guò)程是,首先對(duì)它的操作數(shù)進(jìn)行比較,爾后再返回一個(gè)true或False值,有8?jìng)€(gè)比較運(yùn)算<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于(3)邏輯運(yùn)算在JavaScript中增加了幾個(gè)邏輯運(yùn)算符!(取反)、&=(與之后賦值)、&(邏輯與)、|=(或之后賦值)、|(邏輯或)、^=(異或之后賦值)、^(邏輯異或)、?:操作數(shù)?結(jié)果1:結(jié)果下面是一個(gè)跑馬燈效果的JavaScript文檔<scriptvarmsg="這是一個(gè)跑馬燈效果的JavaScript檔";varinterval=100;varspacelen=120;varspace10="";varseq=0;functionScroll(){len=msg.length;window.status=msg.substring(0,seq+1);if(seq>=len)seq=spacelen;window.setTimeout("Scroll2();",interval);}window.setTimeout("Scroll();",interval}functionScroll2(){varout="";for(i=1;i<=spacelen/space10.length;i++)outout=out+msg;window.status=out.substring(seq,len);if(seq>=len){seq=0;window.setTimeout("Scroll2();",interval}本講介紹了JavaScript是如何加入Web頁(yè)面,并學(xué)習(xí)了JavaScript語(yǔ)言中的基本數(shù)據(jù)類(lèi)型變量常量操作運(yùn)算符等從本講中的內(nèi)容中可以看出,對(duì)于已經(jīng)掌握C++語(yǔ)言的人來(lái)說(shuō),學(xué)習(xí)JavaScript真是一件非常輕松愉快的事。JavaScript技術(shù)講第三講JavaScript序構(gòu)JavaScript語(yǔ)言的基本構(gòu)成是由控制語(yǔ)句、函數(shù)、對(duì)象、方法、屬性等,來(lái)實(shí)現(xiàn)編程的。在任何一種語(yǔ)言中,程序控制流是必須的,它能使得整個(gè)程序減小,使之順利按其一定的方式執(zhí)行。下面是JavaScript常用的程1、if件語(yǔ)句語(yǔ)句段ifelse語(yǔ)句是JavaScript最基本的控制語(yǔ)句,通過(guò)它可以改變語(yǔ)句的執(zhí)行順序。它將零和非零的數(shù)分別轉(zhuǎn)化成false和true若if后的語(yǔ)句有多行,則必須使用花括號(hào)將其括起來(lái)if語(yǔ)句的嵌elseif(值)語(yǔ)句3;else語(yǔ)句在這種情況下,每一級(jí)的表述式都會(huì)被計(jì)算,若為真,則執(zhí)行其相應(yīng)的語(yǔ)句,否則執(zhí)行else后的語(yǔ)句2、For環(huán)語(yǔ)句初始化參數(shù)告訴循環(huán)的開(kāi)始位置,必須賦予變量的初值條件:是用于判別循環(huán)停止時(shí)的條件。若條件滿足,則執(zhí)行循環(huán)體,否則跳出。三個(gè)主要語(yǔ)句之間,必須使用逗號(hào)分隔3、while語(yǔ)句集該語(yǔ)句與For語(yǔ)句一樣,當(dāng)條件為真時(shí),重復(fù)循環(huán),否則退出循環(huán)Forwhile兩種語(yǔ)句都是循環(huán)語(yǔ)句,使用For語(yǔ)句在處理有關(guān)數(shù)字時(shí)更易看懂,也較緊湊;而while循環(huán)對(duì)復(fù)雜的語(yǔ)句效果更特別4、break和continue語(yǔ)C++語(yǔ)言相同,使用break句使得循環(huán)從Forwhile跳出,continue得跳過(guò)循環(huán)內(nèi)剩余的語(yǔ)句而進(jìn)入下一次循環(huán)。函數(shù)為程序設(shè)計(jì)提供了一個(gè)豐常方便的能力通常在進(jìn)行一個(gè)雜的程序設(shè)計(jì)時(shí)總根據(jù)所要完成的功能將程序劃分為一些相對(duì)獨(dú)立的部分,每部分編寫(xiě)一個(gè)函數(shù)。從而,使各部分充分獨(dú)立,任務(wù)單一,程序清晰,易懂、易讀、易。JavaSript函數(shù)可以1、JavaScript函數(shù)定義Function函數(shù)名(參數(shù),變?cè)﹞Return表達(dá)式}說(shuō)明當(dāng)調(diào)用函數(shù)時(shí),所用變量或字面量均可作為變?cè)獋鬟f函數(shù)由關(guān)鍵字Function定義。函數(shù)名:定義自己函數(shù)的名字參數(shù)表,是傳遞給函數(shù)使用或操作的值,其值可以是常量,變量或其它表達(dá)式必須使用Return將值返回。函數(shù)名對(duì)大小寫(xiě)是敏感的2、函數(shù)中的形式參數(shù)在函數(shù)的定義中我們看到函數(shù)名后有參數(shù)表這些參數(shù)變量可能是一個(gè)或幾個(gè)那么怎樣才能確定參數(shù)變量的個(gè)數(shù)呢?在中可通過(guò)argumentsLength檢查參數(shù)的個(gè)數(shù)。例:Functionfunction_Name(exp1,exp2,exp3,exp4)Number=function_Name.arguments.length;ifif(Number>2)
三、事件驅(qū)動(dòng)及事件處1、基本概JavaScript是基于對(duì)象(object-based)的語(yǔ)言。這與Java不同,Java是面向?qū)ο蟮恼Z(yǔ)言。而基于對(duì)象的基本特征,就是采用事件驅(qū)動(dòng)2、事件處理程Function事件處理名(參數(shù)表){}3、事件驅(qū)JavaScript事件驅(qū)動(dòng)中的事件是通過(guò)鼠標(biāo)或熱鍵的動(dòng)作的。它主要有以下幾個(gè)事件(1)單擊事件當(dāng)用戶單擊鼠標(biāo)按鈕時(shí),產(chǎn)生onClick事件。同時(shí)onClick指定的事件處理程序或代碼將被調(diào)用執(zhí)行。通常在下列基本對(duì)象中產(chǎn)生radio(單選鈕)resetbuttons(重要按鈕)submitbuttons(提交按鈕)例:可通過(guò)下列按鈕激活change()文件<Inputtype="button"Value=“”在onClick等號(hào)后,可以使用自己編寫(xiě)的函數(shù)作為事件處理程序,也可以使用JavaScript中的函數(shù)。還可以直接使用的代碼等。例(2)onChange改變事當(dāng)利用text或texturea元素輸入字符值改變時(shí)發(fā)該事件,同時(shí)當(dāng)在select表格項(xiàng)中一個(gè)選項(xiàng)狀態(tài)改變后也會(huì)該事件。例:<Form><Inputtype="text"name="Test"value="Test"(3)選中事件當(dāng)Text或Textarea對(duì)象中的文字被加亮后,該事件(4)獲得焦點(diǎn)事件當(dāng)用戶單擊Text或textarea以及select對(duì)象時(shí),產(chǎn)生該事件。此時(shí)該對(duì)象成為前臺(tái)對(duì)象(5)失去焦點(diǎn)當(dāng)text對(duì)象或textarea對(duì)象以及select對(duì)象不再擁有焦點(diǎn)、而退到時(shí),該文件,他與onFocas事件是一個(gè)對(duì)應(yīng)的關(guān)系(6)載入文件當(dāng)文檔載入時(shí),產(chǎn)生該事件。onLoad一個(gè)作用就是在首次載入一個(gè)文檔時(shí)檢測(cè) (7)卸載文件當(dāng)Web頁(yè)面退出時(shí)onUnload事件,并可更新 范例1:下例程序是一個(gè)自動(dòng)裝載和自動(dòng)卸載的例子。即當(dāng)裝入HTML文檔時(shí)調(diào)用loadform()函數(shù),而退出該文檔進(jìn)入另一文檔時(shí)則首先調(diào)用unloadform()函數(shù),確認(rèn)后方可進(jìn)入。<script<!-functionalert("這是一個(gè)自動(dòng)裝載例子}functionunloadform(){}//--<ahref="test.htm">調(diào)用見(jiàn)圖1示<scriptlanguage="JavaScript"><!-//--functionmakeArray(n){return}functionhexfromdec(num){hex=newmakeArray(1);varvarvartemp1=num;for(x=1;x>=0;x--){hex[x]=Math.round(temp1/shifthex-hex[x-1]=temp1-hex[x]*shifthex;shifthex/=}for(x=1;x>=0;x--){hexstring+=getletter(hex[x]);}return(hexstring);}functiongetletter(num)if(num<10){returnnum;}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"}}}functionrainbow(text){varcolor_d1;varallstring="";allstring+="<FONT}return}functionvarcolor_d1;varallstring="";varflag=0;if(flag==0){if(j>=7)if(flag==1){if(j<=0)flag=0;allstring+="<FONTSIZE="+j+">"+text.substring(i,i+1)+}return}.write("<font
.write(sizefont("這是一個(gè)獲取WEB瀏覽器的程序.write("瀏覽器名稱(chēng):.write("代碼名字:.write("用戶標(biāo)識(shí):輸出結(jié)果圖2所示本講介紹了JavaScript程序設(shè)計(jì)的有關(guān)內(nèi)容。程序流、函數(shù)、事件是我們學(xué)習(xí)掌握J(rèn)avaScript編程的重點(diǎn)JavaScript技術(shù)講第四講基于對(duì)象的JavaScript雖然JavaScript是一門(mén)基于對(duì)象的,但它還是具有一些面向?qū)ο蟮幕咎卣鳌K梢愿鶕?jù)需要?jiǎng)?chuàng)建自己的對(duì)象,從而進(jìn)一步擴(kuò)大JavaScript的應(yīng)用范圍,增強(qiáng)編寫(xiě)功能強(qiáng)大的Web文文件。1、對(duì)象的基本結(jié)2、對(duì)象的途一個(gè)對(duì)象要真正地被使用,可采用以下幾種方式獲得JavaScript對(duì)象;創(chuàng)建新對(duì)象這就是說(shuō)一個(gè)對(duì)象在被之前,這個(gè)對(duì)象必須存在,否則將毫無(wú)意義,而出現(xiàn)錯(cuò)誤信息。從上面中我們可以看出JavaScriptJavaScript是一純面向?qū)ο蟮恼Z(yǔ)言,它設(shè)有提供面向?qū)ο笳Z(yǔ)言的許多功能,因此JavaScript計(jì)者之所以把它你“基于對(duì)象”而不是面向?qū)ο蟮恼Z(yǔ)言,在JavaScript中提供了幾個(gè)用于操作對(duì)象的語(yǔ)句和及運(yùn)算符。、For...in句For(對(duì)象屬性名in已知對(duì)象名)FunctionshowData(object)for(varX=0;X<30;X++)該函數(shù)是通過(guò)數(shù)組下標(biāo)順序值來(lái)每個(gè)對(duì)象的屬性使用這種方式首先必須知道數(shù)組的下標(biāo)值否則若超出范圍則就會(huì)發(fā)生錯(cuò)誤。而使For...in語(yǔ)句,則根本不需要知道對(duì)象屬性的個(gè)數(shù),見(jiàn)下:FunctionshowData(object)for(varpropinobject)使用該函數(shù)時(shí),在循環(huán)體中,F(xiàn)or自動(dòng)將的屬性取出來(lái),直到最后為此、with語(yǔ)使用該語(yǔ)句的意思是:在該語(yǔ)句體內(nèi),任何對(duì)變量的被認(rèn)為是這個(gè)對(duì)象的屬性,以節(jié)省一些代碼with所有在with語(yǔ)句后的花括號(hào)中的語(yǔ)句,都是在后面object對(duì)象的作用域的、histhis是對(duì)當(dāng)前的,在JavaScript由于對(duì)象的是多層次,多方位的,往往一個(gè)對(duì)象的又需要對(duì)另一個(gè)對(duì)象的,而另一個(gè)對(duì)象有可能又要另一個(gè)對(duì)象,這樣有可能造成,最后自己已不知道現(xiàn)在的那一個(gè)對(duì)象,為此JavaScript提供了一個(gè)用于將對(duì)象指定當(dāng)前對(duì)象的語(yǔ)句this。、ew運(yùn)算雖然在JavaScript中對(duì)象的功能已經(jīng)是非常強(qiáng)大的了。但更強(qiáng)大的是設(shè)計(jì)可以按照需求來(lái)創(chuàng)建自己的對(duì)象,以滿足某一特定的要求。使用New運(yùn)算符可以創(chuàng)建一個(gè)新的對(duì)象。其創(chuàng)建對(duì)象使用如下格式:Newobject=NEWObject(Parameters其中Newobject創(chuàng)建的新對(duì)象:object是已經(jīng)存在的對(duì)象;parameterstable參數(shù)表;new是JavaScript中令語(yǔ)句。birthday=NewData(December之后就可使NewData、birthday為一個(gè)新的日期對(duì)象了。4、對(duì)象屬性的對(duì)象屬性的可由下列三種方式之一實(shí)現(xiàn)university.city=“市”其中university是一個(gè)已經(jīng)存在的對(duì)象,Name、City、Date是它的三個(gè)屬性,并通過(guò)操作對(duì)其賦值(2)通過(guò)對(duì)象的下標(biāo)實(shí)現(xiàn)university[1]=“市”通過(guò)數(shù)組形式的屬性,可以使用循環(huán)操作獲取其值functionshowunievsity(object)for(varj=0;j<2;j++)若采用For...in則可以不知其屬性的個(gè)數(shù)后就可以實(shí)現(xiàn)Functionshowmy(object)for(varpropinthis)university["City"]=“市5、對(duì)象的方法的在JavaScript中對(duì)象方法的是非常簡(jiǎn)單的實(shí)際上methods()=FunctionName方法實(shí)質(zhì)上是一個(gè)函數(shù)。如university對(duì)象中的showmy()方法,則可使用.write或 如math對(duì)象中cos()的方法若不使用with則時(shí)相對(duì)要復(fù)雜些二、常用對(duì)象的屬性和方JavaScript為我們提供了一些非常有用的常用對(duì)象和方法。用戶不需要用來(lái)實(shí)現(xiàn)這些功能。這正是基于對(duì)象編程的真正目的。在JavaScript提供了string(字符串)、math(數(shù)值計(jì)算)和Date(日種對(duì)象和其它一些相關(guān)的方法。從而為編程快速1、常用對(duì)在JavaScript中對(duì)于對(duì)象屬性與方法的,有兩種情況:其一是說(shuō)該對(duì)象是靜態(tài)對(duì)象,即在該對(duì)象的屬性或方法時(shí)不需要為它創(chuàng)建實(shí)例;而另一種對(duì)象則在它的對(duì)象或方法是必須為它創(chuàng)建一個(gè)實(shí)例,即該對(duì)象是動(dòng)態(tài)對(duì)象。對(duì)JavaScript對(duì)象的,以是緊緊圍繞著它的屬性與方法進(jìn)行的。因而明確對(duì)象的靜動(dòng)性對(duì)于掌握和理解JavaScript對(duì)象1)、串對(duì)string對(duì)象:靜態(tài)性propertiesmethods,可使用(.)運(yùn)算符實(shí)現(xiàn)。(1)串對(duì)象的屬mytest="ThisisaJavaScript"最后mystringlength返回mytest字符串的長(zhǎng)度為20(2)串對(duì)象的方string象的方法共有19個(gè)主要用于有關(guān)字符串在Web面中的顯示字體大小體顏色字符的搜索以及字符的大小寫(xiě)轉(zhuǎn)換。anchor():該方法創(chuàng)建如用Html文件中一樣的anchor使用anchor用HtmlAName="")一樣。通過(guò)下列格式訪有關(guān)字符顯示的控制方big字體顯示,Italics()斜體字顯示,bold()粗體字顯示,blink()字符閃爍顯示,small()字符用小體字顯示,fixed()固定高亮字顯示fontsize(size)控制字體大小等string=stringValue.toUpperCase和string=stringValue.toLowerCase。字符搜索從指定formIndtx開(kāi)始搜索charactor一次出現(xiàn)的位置。從start開(kāi)始到end的字符全部返回2)、算術(shù)函數(shù)的math對(duì)功能:提供除加、減、乘、除以外的一引些自述運(yùn)算。如對(duì)數(shù),平方根等。(1)主要屬math中提供了6個(gè)屬性,它們是數(shù)學(xué)中經(jīng)常用到的常數(shù)E、以10為底的自然對(duì)數(shù)LN10、以2為底的自然對(duì)數(shù)LN2、3.14159PI、1/2的平方根SQRT1-2,2的平方根為SQRT2正弦余弦值反正弦反余弦:asin
平方根基于幾方次的值3)、日期及時(shí)間對(duì)功能:提供一個(gè)有關(guān)日期和時(shí)間的對(duì)象靜動(dòng)性:動(dòng)態(tài)性,即必須使用New運(yùn)算符創(chuàng)建一個(gè)實(shí)例。Date對(duì)象沒(méi)有提供直接的屬性。只具有獲取和設(shè)置日期和時(shí)間的方法。日期起始值:00:00:00。(1)獲取日期的時(shí)間方法getYear():返回年數(shù)getDate():返回當(dāng)日號(hào)數(shù)getTime():返回毫秒數(shù)(1)設(shè)置日期和時(shí)間
setTime():設(shè)置毫秒數(shù)2、JavaScript中的系統(tǒng)函JavaScript中的系統(tǒng)函數(shù)又稱(chēng)方法。它提供了與任何對(duì)象無(wú)關(guān)的系統(tǒng)函數(shù),使用這些函數(shù)不需創(chuàng)建任何實(shí)例,可直接用返回字符串表達(dá)式中的值方法名:eval(字符串表達(dá)式),例返回字符串ASCI碼方法名:unEscape返回字符的編碼方法名返回實(shí)數(shù)返回不同進(jìn)制的數(shù)parseInt(numbestring其中radix是數(shù)的進(jìn)制,numbs字符串三、范下面是一個(gè)時(shí)鐘顯示的JavaScript文檔。在文文件中用了非常多的函數(shù)<style<title>時(shí)鐘<scriptLANGUAGE="JavaScript">functionshowClock(){}functionhideClock()}vartimerID=vartimerRunning=falsefunctionstopClock(){timerRunning=false.clock.face.value=}functionshowTime(){varnow=newDate();varyear=now.getYear();varmonth=now.getMonth()+1;vardate=now.getDate();varhours=now.getHours();varmins=now.getMinutes();varsecs=now.getSeconds();vartimeVal="";timeVal+=((hours<=12)?hours:hours-timeVal+=((mins<10)?":0":":")+timeVal+=((secs<=10)?":0":":")+timeVal+=((hours<12)?"AM":timeVal+=((month<10)?"on0":"on")+month+"-";timeVal+=date+"-"+year;.clock.face.value=timeVal;timerID=setTimeout("showTime()",1000);timerRunning=true}functionstartClock()}functionwindowOpener(indexnumvarloadpos="date.html"+"#"+indexnum; }<palign="center"><big><spanstyle="background-color:rgb(45,45,45)"><fontface="Arial">form</font>&;<font <p <div<tableborder="0"cellspacing="0"<divalign="center"><center><p><inputTYPE="text"NAME="face"size="20"VALUEstyle="background-color:rgb(192,192,192)"></p>見(jiàn)圖所示本講介紹了基于對(duì)象的JavaScript中常用對(duì)象屬性、方法的使用JavaScript術(shù)講座第五講創(chuàng)建新對(duì)象使用JavaScript可以創(chuàng)建自己的對(duì)象。雖然JavaScript和瀏覽器本身的功能已十分強(qiáng)大,但JavaScript還是提供了創(chuàng)建一個(gè)在JavaScript中創(chuàng)建一個(gè)新的對(duì)象是十分簡(jiǎn)單的。首先它必須定義一個(gè)對(duì)象,而后再為該對(duì)象創(chuàng)建一個(gè)實(shí)例。這個(gè)實(shí)例就是一個(gè)新象,它具有對(duì)象定義中的基本特征一、對(duì)象的定JavaScript對(duì)象的定義,其基本格式如下FunctionObject(屬性表在一個(gè)對(duì)象的定義中,可以為該對(duì)象指明其屬性和方法。通過(guò)屬性和方法構(gòu)成了一個(gè)對(duì)象的實(shí)例。如以下是一個(gè)關(guān)于UniversityFunctionuniversity(name,city,creatDateURL)This.creatDate=NewDate(creatDate)其基本含義如下oName-指定一個(gè)“單位”名稱(chēng)City-“單位”所在城市CreatDate-記載university對(duì)象的更新日期URL-該對(duì)象指向一個(gè)二、創(chuàng)建對(duì)象實(shí)一旦對(duì)象定義完成后,就可以為該對(duì)象創(chuàng)建一個(gè)實(shí)例了NewObject=New其中Newobjet是新的對(duì)象,Object已經(jīng)定義好的對(duì)象。例U1=Newuniversity(“云南省”,“市”,"January05,199712:00:00","U2=Newuniversity(“云南電子科技大學(xué)”,“”,"January07,1997 三、對(duì)象方法的使方法。實(shí)質(zhì)對(duì)象的方法就是一個(gè)函數(shù)FunctionName,通過(guò)它實(shí)現(xiàn)自己的意圖。例在university對(duì)象中增加一個(gè)方法,該方法是顯示它自己本身,并返回相應(yīng)的字串functionuniversity(name,city,createDate,URL)This.createDate=NewDate(creatDate);其中This.showuniversity是定義了一個(gè)方法---showuniversity()。而showuniversity()方法是實(shí)現(xiàn)university對(duì)象本身的顯示。functionFor(varpropinthis)其中alert是JavaScript中的函數(shù),顯示其字符串四、JavaScript中的數(shù)使用New創(chuàng)建數(shù)JavaScript沒(méi)有提供像其它語(yǔ)言具有明顯的數(shù)組類(lèi)型但可以通過(guò)function義一個(gè)數(shù)并使用New象操作符創(chuàng)建一個(gè)具FunctionarrayName(size){for(varX=;X<=size;X++)Reture}其中arrayName義數(shù)組的一個(gè)名子,Size有關(guān)數(shù)組大小的值(1-size),即數(shù)組元素的個(gè)數(shù)。通過(guò)for環(huán)對(duì)一個(gè)當(dāng)前對(duì)從中可以看出,JavaScript中的數(shù)組是從1到size,這與其它0到size的數(shù)組表示方法有所不同當(dāng)然你可根據(jù)需要將數(shù)組的下由1到size調(diào)整到0到size-1,可由下列實(shí)現(xiàn)FunctionarrayName(size)For(varX=0;X<=size;X++)Return從上面可以看出該方法是只是調(diào)整了this.lenght的位置,該位置是用于數(shù)組的大小的。從而調(diào)整后的數(shù)組的下標(biāo)將與其它語(yǔ)言一致。但請(qǐng)讀者注意正是由于數(shù)組下標(biāo)順序由1到size,使得JavaScript中的對(duì)象功能更加強(qiáng)大。b、創(chuàng)建數(shù)組實(shí)一個(gè)數(shù)組定義完成以后,還不能馬上使用,必須為該數(shù)組創(chuàng)建一個(gè)數(shù)組實(shí)例Myarray[3]=“字串Myarray[n]=“字串一旦給數(shù)組賦于了初值后,數(shù)組中就正意義的數(shù)據(jù)了,以后就可以在程序設(shè)計(jì)過(guò)程中直接創(chuàng)建數(shù)FunctioncreatMArray(row,col){varindx=0;for(varx=1;x<=row;x++)for(vary=1;y<=col;y++)}myMArray=new之后可通過(guò)myMArray[11]、myMArray[12]、myMArray[13]、myMArray[21]、myMArray[22]、myMArray[23]…來(lái)數(shù)在Java中為了方便對(duì)象的操作,可以使用窗體(Forms)框架(Frames)元素(element) (links)和錨數(shù)組實(shí)現(xiàn)對(duì)象的anchors[]:使用《Aname=“anchorName“》標(biāo)識(shí)來(lái)建立錨的links[]:使用<Ahref=”URL”>來(lái)定義一個(gè)越文本項(xiàng)Forms[]:在程序中使用多窗體時(shí),建立該數(shù)組。anchors[]用于窗體的(它是通過(guò)《formname=“form1”》所指定的),link[]用于被到的的(它是通過(guò)《ahref=URL》所指定的)。Forms[]反映窗體的屬性,而anchors[]反映Web頁(yè)面中的屬性。有關(guān)錨數(shù)組的文檔>HTML>HTML<AHREF=”#MyAnchorsName1”><AHREF=”#MyAnchorsName2”>該文檔段建立了兩面全錨的,可通過(guò)Anchors[]這些錨。 五、范<scriptwith{baseURL=href.substring(0,href.lastIndexOf("/")+1)}total_toc_items=0;current_overID="";last_overID="";browser=version=parseInt(navigator.appVersion);loaded=if(browser=="Netscape"&&version>=3)client="ns3";functiontoc_item(img_name,icon_col,width,height){if(client=="ns3")img_prefix=baseURL+img_name;this.icon_col=icon_col;this.toc_img_off=newImage(width,height);this.toc_img_off.src=img_prefix+"_off.gif";this.toc_img_on=newImage(width,height);this.toc_img_on.src=img_prefix+"_on.gif";}}functionnew_toc_item(img_name,icon_row,width,height)toc_item[img_name]=newtoc_item}functiontoc_mouseover(itemID){if(client=="ns3"){current_overID=itemID;if(current_overID!=last_overID)[current_overID].src=toc_item[current_overID].toc_img_on.src;if(last_overID!=""){.images[last_overID].src=}last_overID=}}}functiontoc_mouseout(){if(client=="ns3"){if(current_overID!="").images[current_overID].src=toc_item}current_overID="";last_overID="";}}new_toc_item<!--functionbannerObject(p){this.msg=MESSAGEthis.out=""this.pos=POSITIONthis.delay=DELAYthis.i=0this.reset=functionthis.pos=POSITION}varPOSITION=50;varDELAY=150;varMESSAGE一個(gè)動(dòng)態(tài)JavaScript字顯示的例子";varscroll=newbannerObject();functionscroller(){scroll.out+="";for(scroll.i=0;scroll.i<scroll.pos;scroll.i++){scroll.out+="";}if(scroll.pos>=0)scroll.out+=scrol scroll.out= g.substring(- .noticeForm.notice.value=scroll.outscroll.out="";scroll.pos--scroll.pos--if(scroll.pos<-(scrol g.length)){scroll.reset();}setTimeout<bodyonload="scroller()"bgcolor="#000000"link="#C0C0C0"vlink="#C0C0C0"<tableborder="0"cellspacing="0"<tdwidth="100%"><form范例2:顏色變化的例<!-functionmakearray(n){this.length=n;for(vari=1;i<=n;i++)this[i]=0;returnhexa=newmakearray(16);for(vari=0;i<10;i++)hexa[i]=i;functionhex(i){if(i<0)return"00";elseif(i>255)return"ff";elsereturn""+hexa[Math.floor(i/16)]+hexa[i%16];}functionsetbgColor(r,g,b){varhr=hex(r);varhg=hex(g);varhb=.bgColor="#"+hr+hg+hb;}functionfade(sr,sg,sb,er,eg,eb,step){for(vari=0;i<=step;i++){setbgColor(Math.floor(sr*((step-i)/step)+er*(i/step)),Math.floor(sg*((step-i)/step)+eg*(i/step)),Math.floor(sb*((step-i)/step)+eb*(i/step)));}}functionfadein(){fade(0,255,0,0,0,0,//--本講介紹了用戶自行創(chuàng)建對(duì)象的方法,用戶可根據(jù)需要?jiǎng)?chuàng)建自己的對(duì)象。并介紹了JavaScript中建數(shù)組的方法JavaScript技術(shù)講第六講使用對(duì)象系使用瀏覽器的對(duì)象系統(tǒng),可實(shí)現(xiàn)與HTML文檔進(jìn)行交互。它的作用是將相關(guān)元素組織包裝起來(lái),提供給程序設(shè)計(jì)使用,從而減輕編程人的勞動(dòng),提高設(shè)計(jì)Web頁(yè)面的能力。一、瀏覽器對(duì)象層次及其主要作除了前面提到過(guò)的文 對(duì)象外,Navigator瀏覽器中還提供了窗口(Window)對(duì)象以及歷史(History)和位(Location)對(duì)象窗口對(duì)象Window象處于對(duì)象層次的最頂端,它提供了處理Navigator口的方法和屬性。Location象提供了與當(dāng)前打開(kāi)的URL起工作的方法和屬性,它是一個(gè)靜態(tài)的對(duì)象。History對(duì)象提供了與歷史有關(guān)的信息文檔對(duì)象 對(duì)象包含了與文檔元素(elements)一起工作的對(duì)象,它將這些元素封裝起來(lái)供編程使用編程利用這些對(duì)象可以對(duì)WWW瀏覽器環(huán)境中的事件進(jìn)行控制并作出處理在JavaScript中提供了非常豐富的方法屬?gòu)亩鴾p輕了編程的工作提高編程效率這正是基于對(duì)象與面向?qū)ο蟮母緟^(qū)別所在在這些對(duì)象系統(tǒng)中文檔對(duì)象屬于非常重要它位于最低層但對(duì)于我們實(shí)現(xiàn)Web面信息交互起作關(guān)鍵作用。因而它是對(duì)象系統(tǒng)的部分。二、文檔對(duì)象功能及其作在Navigator瀏覽器中 文檔對(duì)象是是,同時(shí)也是最重要的。見(jiàn)圖6-1所示對(duì)錨對(duì)方對(duì)圖 對(duì)從圖6-1中可以看出, 對(duì)象的主要作用就是把這些基本的元(如links,anchor等包裝起來(lái)提供給編程使用。 1 中三個(gè)主要的對(duì) 中主要有:links,anchor,form等三個(gè)最重要的對(duì)象(1)anchor錨對(duì)anchor對(duì)象指的是<AName=...></A>標(biāo)識(shí)在HTML源碼中存在時(shí)產(chǎn)生的對(duì)象。它包含著文檔中所有的anchors信息(2)links對(duì)link對(duì)象指的是用<AHref=...></A>標(biāo)記的連接一個(gè)超文本或超的元素作為一個(gè)特定的URL(3)窗體(Form)對(duì)窗體對(duì)象是文檔對(duì)象的一個(gè)元素,它含有多種格式的對(duì)象信息,使用它可以在JavaScript中編寫(xiě)程序進(jìn)行文字輸入,并 .Forms[]數(shù)組來(lái)使得在同一個(gè)頁(yè)面上可以有多個(gè)相同的窗體,使用forms[]數(shù)組要比使例:下面就是一個(gè)使用窗體數(shù)組和窗體名字的例子。該程序使得兩個(gè)窗體中的字段內(nèi)容保持一致<form<inputtype=text .my.elements[0].value=this.value;"<form<inputtype=text 其中用了OnChnge事件(當(dāng)窗體內(nèi)容改變時(shí)激發(fā))。第一個(gè)使用窗體名字標(biāo)識(shí)my,第二個(gè)使用窗體數(shù)組Forms[]。其效果是一致2、文檔對(duì)象中的attribute屬對(duì)象中的attribute屬性,主要用于在Href標(biāo)識(shí)時(shí),控制著有關(guān)顏色的格式和有關(guān)文檔標(biāo)題、文檔原文件的以及文檔最后更新的日期。這部分元素的主要含義如下(1)顏色這個(gè)元素主要用于,當(dāng)選取一個(gè)時(shí),對(duì)象本身的顏色就按alinkcolor指定改變(2)顏色當(dāng)用戶使用<AHref=...>Textstring</A>后,Textstring的顏色就會(huì)按Linkcolor所指定的顏色更新(3)瀏覽過(guò)后的顏色該屬性表示的是已被瀏覽為已瀏覽過(guò)的顏色(4)背景顏該元素包含文檔背景的顏色(5)前景顏色該元素包含HTML文檔中文本的前景顏色3、文檔對(duì)象的基本元(1)窗體屬性窗體屬性是與HTML文檔中<Form>...</Form>相對(duì)應(yīng)的一組對(duì)象在HTML文檔所創(chuàng)建的窗體數(shù),由length指定。通.forms.length反映該文檔中所創(chuàng)建的窗體數(shù)目(2)錨屬性該屬性中包含了HTML文檔的所有<A></A>標(biāo)記為Name=...的語(yǔ)句標(biāo)識(shí)所“錨的數(shù)目保存 中(3)屬性屬性是指在文檔中<A>...</A>的由Href=...指定的數(shù)目,其數(shù)目保存 .links.length中三、范例1:下面我們通過(guò)一個(gè)例子來(lái)說(shuō)明文檔對(duì)象的綜合應(yīng)用。輸出結(jié)果見(jiàn)圖6-2所示<Form請(qǐng)輸入數(shù)據(jù)<InputType="text"Name="text1"<Aname="Link1"href="test31.htm">到第一個(gè)文本<Aname="Link2"href="test32.htm">到第二個(gè)文本<Aname="Link2"href="test33.htm">到第三個(gè)文本<Ahref="#Link1">第一<Ahref="#Link2">第二<AHref="#Link3">第三<Script.write("文檔有 .links.length+"個(gè)
.write("文檔有 .anchors.length+"個(gè).write("文檔有 .forms.length+"個(gè)窗體6-例子2:下列程序隨機(jī)產(chǎn)生每日一語(yǔ)<script<!-tips=newArray(6);tips[5]="每日一語(yǔ)index=Math.floor(Math.random()*.write("<FONTSIZE=8COLOR=DARKBLUE>"+輸出結(jié)果見(jiàn)圖6-36-本講主要介紹了JavaScript對(duì)象系統(tǒng)的使用方法,其中重點(diǎn)介紹了文檔對(duì)象及使用JavaScript技術(shù)講座第七講窗口及輸入輸出 一、窗口及輸入輸請(qǐng)看下面例子<scriptVartest=mpt("請(qǐng)輸入數(shù)據(jù).write(test+"JavaScript輸入輸出的例子其中mpt()就是一個(gè)窗口對(duì)象的方法,其基本作用是,當(dāng)裝入Web頁(yè)面時(shí)在屏幕上顯示一個(gè)具有“確定”和“取消的框,讓你輸出數(shù)據(jù) .writle是一個(gè)文檔對(duì)象的方法,它的基本功能,是實(shí)現(xiàn)Web頁(yè)面的輸出顯示。見(jiàn)圖1所示1、窗口對(duì)該對(duì)象對(duì)應(yīng)于HTML文檔中的<Body>和<FrameSet>兩種標(biāo)識(shí)onload和onunload都是窗口對(duì)象屬性在JavaScript中可直接窗口對(duì)象。如window.alert("窗口對(duì)象輸入方法可直接使用以下格式alert("窗口對(duì)象輸入方法2、窗口對(duì)象的事件驅(qū)窗口對(duì)象主要有裝入Web文檔事件onload和卸載時(shí)onunload事件。用于文檔載入和停止載入時(shí)開(kāi)始和停止更新文檔3、窗口對(duì)象的方創(chuàng)建一個(gè)新窗口open()使用window.open(參數(shù)表)方法可以創(chuàng)建一個(gè)新的窗口。其中參數(shù)表提供有窗口的主要特性和文檔及窗口名具有OK按鈕的alert()方法能創(chuàng)建一個(gè)具有OK按鈕的框。具有OK和Cancel按鈕的框prompt()方法允許用戶在框中輸入信息,并可使用默認(rèn)值,其基本格式如下prompt(“提示信息”,默認(rèn)值)4、窗口對(duì)象中的屬窗口對(duì)象中的屬性主要用來(lái)對(duì)瀏覽器中存在的各種窗口和框架的,其主要屬性有以下幾個(gè)(1)frames確文檔中幀的數(shù)frames屬性是通過(guò)HTML標(biāo)識(shí)<Frames>的順序來(lái)的,它包含了一個(gè)窗口中的全部幀數(shù)。(2)Parent指明當(dāng)前窗口或幀的父窗口(3)defaultstatus:默認(rèn)狀態(tài),它的值顯示在窗口的狀態(tài)欄中(4)status:包含文檔窗口中幀中的當(dāng)前信息(5)top:包括的是用以實(shí)現(xiàn)所有的下級(jí)窗口的窗口(6)window.指的是當(dāng)前窗(7)self:當(dāng)前窗口5、輸出流及文檔對(duì)在JavaScript文檔對(duì)象中,提供了用于顯示關(guān)閉、消除、打開(kāi)HTML頁(yè)面的輸出流(1)創(chuàng)建新文檔open()方使用 pen)創(chuàng)建一個(gè)新的窗口或在指定令窗口內(nèi)打開(kāi)文檔由于窗口對(duì)象是所加載的父對(duì)象因而我們?cè)谡{(diào)用它的屬性或方法不需要加入Winow對(duì)象例用Winow.Open)與Open是一樣的。打開(kāi)一個(gè)窗口的基本格式Window.open("URL","窗口名字","窗口屬window屬性參數(shù)是由一個(gè)字符串列表項(xiàng)它由逗號(hào)分隔,它指明了有關(guān)新創(chuàng)建窗口的屬性。見(jiàn)表7-1所示7-參設(shè)定含建立或不建立標(biāo)按建立或不建立狀態(tài)建立或不建立菜單建立或不建立滾動(dòng)能否改變窗口大確定窗口的寬確定窗口的高度在使用Open()方法時(shí),需要注意以下點(diǎn)通常瀏覽器窗中,總有一個(gè)文檔是打開(kāi)的。因而不需要為輸出建立一個(gè)新文檔在完成對(duì)Web文檔的寫(xiě)操作后,要使用或調(diào)用close()方法來(lái)實(shí)現(xiàn)對(duì)輸出流的關(guān)閉在使用open()來(lái)打開(kāi)一個(gè)新流時(shí)可為文檔指定一個(gè)有效的文檔類(lèi)型有效文檔類(lèi)型包括text/HTMLtext/giftext/xim、text/plugin等。(2)write()、 n()輸出顯示該方法主要用來(lái)實(shí)現(xiàn)在Web頁(yè)面上顯示輸出信息。在實(shí)際使用中,需注意以下幾點(diǎn) n()與write()唯一不同之處在于在未尾加了一個(gè)換符為了正常顯示其輸出信息,必須指明<pre></Pre>標(biāo)記,使之告訴編輯器。(3)關(guān)閉文檔流在實(shí)現(xiàn)多個(gè)文檔對(duì)象中,必須使用close()來(lái)關(guān)閉一個(gè)對(duì)象后,才能打開(kāi)另一個(gè)文檔對(duì)象(4)清除文檔內(nèi)容使用該方法可清除已經(jīng)打開(kāi)文檔的內(nèi)容二、簡(jiǎn)單的輸入、輸出例在JavaScript中可以非常方便地實(shí)現(xiàn)輸入輸出信息,并與用戶進(jìn)行交互1、JavaScript信息的輸通過(guò)使用JavaScript所提供的窗口對(duì)象方法prompt(),就能完成信息的輸入。該方法提供了最簡(jiǎn)便的信息輸入方式,其基本格Wmpt("提示信",預(yù)定輸入信息此方法首先在瀏覽器窗口出一個(gè)框,讓用戶自行輸入信息。一旦輸入完成后,就返回用戶所輸入信息的值。例:test=prompt(“請(qǐng)輸入數(shù)據(jù):”,”thisisaJavaScript”)實(shí)際上prompt()是窗口對(duì)象的一個(gè)方法。因?yàn)槿笔∏闆r下所用的對(duì)象就是window對(duì)象,所以windows對(duì)象可以省略不寫(xiě)2、輸出顯每種語(yǔ)言,都必須提供信息數(shù)據(jù)的輸出顯示。JavaScript也是一樣,它提供有幾個(gè)用于信息輸出顯示的方法。比較常用的window.alert() .write和 .writln()方法1) .write()方法 n()方是JavaScript中的一個(gè)對(duì)象在它中封裝許多有用的方法其中write()和wri 說(shuō)明
wrt和wri n方法都是用于向?yàn)g覽器窗口輸出文本字串;二者的唯一區(qū)別就是wri n方法自動(dòng)在文本之后加入回車(chē)符2)、window.alert()輸在JavaScript為了方便信息輸出,JavaScript提供了具有獨(dú)立的框信息輸出─alert()方法alert()方法是window象的一個(gè)方法,因此在使用時(shí),不需要寫(xiě)window口對(duì)象名,而是直接使用就行了。它主要用途用在輸出<ScriptLanguage="JavaScript">alert("這是一個(gè)JavaScript試程序");3)、利用輸入、輸出方法實(shí)現(xiàn)交在JavaScript中,可以利用prompt()方法和write()方法實(shí)現(xiàn)與Web頁(yè)面用戶進(jìn)行交互。例下面就是一個(gè)有關(guān)實(shí)現(xiàn)交互的例<Script<!--HideFromOther//StopHidingfromOtherBrowsers--從上面程序可以看出可通過(guò)write()和prompt()方法實(shí)現(xiàn)交互在JavaScript語(yǔ)言中可以使用HTML標(biāo)識(shí)語(yǔ)言的代碼。從而實(shí)現(xiàn)混合編程。其中<H1>和<Br>就是HTML標(biāo)識(shí)符四、范下列程序演示了你進(jìn)入主頁(yè)所停留的時(shí)間<form<tdvAlign="top"width="135">您在此停留了<inputname="clock"size="8"value="時(shí)間<scriptlanguage="JavaScript">varid,iM=0,iS=1;start=newfunction{now=newtime=(now.getTime()-start.getTime())/1000;time=Math.floor(time);iS=time%iM=Math.floor(time/60);if(iS<10).myform.clock.valueiM分0iS.myform.clock.valueiM分iSid=setTimeout("go()",}在瀏覽器中的結(jié)果,見(jiàn)圖1所示JavaScript技術(shù)講第八講WEB面信息的交要實(shí)現(xiàn)動(dòng)態(tài)交互,必須掌握有關(guān)窗體對(duì)象(Form)和框架對(duì)象(Frames)更為復(fù)雜的知識(shí)一、窗體基礎(chǔ)知窗體對(duì)象可以使設(shè)計(jì)能用窗體中不同的元素與客戶機(jī)用戶相交互,而用不著在之前首先進(jìn)行數(shù)據(jù)輸入,就可以實(shí)現(xiàn)動(dòng)態(tài)改Web文檔的行為1、什么是窗體對(duì)窗體(Form):它構(gòu)成了Web頁(yè)面的基本元素。通常一個(gè)Web頁(yè)面有一個(gè)窗體或幾個(gè)窗體,使用Forms[]數(shù)組來(lái)實(shí)現(xiàn)不同體的<form<INPUT<Input<Inpup<form<INPUT<Input在Forms[0]中共有三個(gè)基本元素,而Forms[1]中只有兩個(gè)元素窗體對(duì)象最主要的功能就是能夠直接HTML文檔中的窗體,它封裝了相關(guān)的HTML代碼Name="表的名稱(chēng)="指定信息的提交窗口"action接收窗體程序?qū)?yīng)的URL"Method=信息數(shù)據(jù)傳送方式enctype="窗體編碼方式"[onsubmitJavaScript碼"]>2、窗體對(duì)象的方窗體對(duì)象的方法只有一個(gè)--submit()方法,該方法主要功用就是實(shí)現(xiàn)窗體信息的提交。如提交Mytest窗體,則使用下列格式3、窗體對(duì)象的屬窗體對(duì)象中的屬性主要包括以下:elementsnameactionencoding4、窗體對(duì)在JavaScript中窗體對(duì)象可由兩種方法實(shí)現(xiàn)(1)通過(guò)窗在窗體對(duì)象的屬性中首先必須指定其窗體名,而后就可以通過(guò)下列標(biāo)識(shí)窗體如 .Mytable()(2)通過(guò)數(shù)組來(lái)窗除了使用窗體名來(lái)窗體外還可以使用窗體對(duì)象數(shù)組來(lái)窗體對(duì)象但需要注意一點(diǎn)因窗體對(duì)象是由瀏覽器環(huán)境的提供的,而瀏覽器環(huán)境所提供的數(shù)組下標(biāo)是由0到n。所以可通過(guò)下列格式實(shí)現(xiàn)窗體對(duì)象的:5、窗體的先決條在JavaScript中要對(duì)窗體的條件是:必須先在頁(yè)面中用標(biāo)識(shí)創(chuàng)建窗體,并將定義窗體部分放在之前二、窗體中的基本元窗體中的基本元素由按鈕、單選按鈕、復(fù)選按鈕、提交按鈕、重置按鈕、文本框等組成在JavaScript中要這些基本元素,必須通過(guò)對(duì)應(yīng)特定的窗體元素的數(shù)組下標(biāo)或窗體元素名來(lái)實(shí)現(xiàn)。每一個(gè)元素主要是通過(guò)該元素的屬性或方法來(lái)。其的基本格式見(jiàn)下:formName.elements[].methadName(窗體名.元素名或數(shù)組.方法)下面分別介紹1、Text單行單列輸入元功能:對(duì)Text識(shí)中的元素實(shí)施有效的控制。Name:設(shè)定提交信息時(shí)的信稱(chēng)。對(duì)應(yīng)于HTML文檔中的Name。Value:用以設(shè)定出現(xiàn)在窗口中對(duì)應(yīng)HTML文檔中Value的信息。defaultvalue:包括Text元素的默認(rèn)值主要事件onFocus:當(dāng)Text獲得焦點(diǎn)時(shí),產(chǎn)生該事件。onchange:當(dāng)Text素值改變時(shí),產(chǎn)生該文件。例<Form<inputtype="text"name="test"value="thisisajavascript"<scriptlanguage.mytest.value="thatisa2、textarea多行多列輸入元功能:實(shí)施對(duì)Textarea的元素進(jìn)行控制。name:設(shè)定提交信息時(shí)的信稱(chēng),對(duì)應(yīng)HTML文檔Textarea的NameValue:用以設(shè)定出現(xiàn)在窗口中對(duì)應(yīng)HTML文檔中Value的信息Defaultvalue:元素的默認(rèn)值3、Select選擇元name:設(shè)定提交信息時(shí)的信稱(chēng),對(duì)應(yīng)文檔select中的name。Length:對(duì)應(yīng)文檔select中的lengthoptions:組成多個(gè)選項(xiàng)的數(shù)select中每一選項(xiàng)都含有以下屬性:Text:選項(xiàng)對(duì)應(yīng)的文事件OnBlur:當(dāng)select項(xiàng)失去焦點(diǎn)時(shí),產(chǎn)生該文件。onFocas:當(dāng)select獲得焦點(diǎn)時(shí),產(chǎn)生該文件。4、Button按功能:實(shí)施對(duì)Button鈕的控制。Name:設(shè)定提交信息時(shí)的信稱(chēng),對(duì)應(yīng)文檔中button的Name。Value:用以設(shè)定出現(xiàn)在窗口中對(duì)應(yīng)HTML文檔中Value的信息。方法click()該方法類(lèi)似于一個(gè)按下的按鈕事件onclick單擊button鈕時(shí),產(chǎn)生該事件。例:<Form<inputtype="button"name="testcall"<script.elements[0].value="mytest";//通過(guò)元素或
.testcallvalue="mytest";//通過(guò)名字5、checkbox檢查name:設(shè)定提交信息時(shí)的信稱(chēng)Value:用以設(shè)定出現(xiàn)在窗口中對(duì)應(yīng)HTML文檔中Value的信息Checked:該屬性指明框的狀態(tài)true/false.方法onclick:當(dāng)框的選被選中時(shí),產(chǎn)生該事件6、radio無(wú)線按name:設(shè)定提交信息時(shí)的信稱(chēng),對(duì)應(yīng)HTML文檔中的radio的name相value:用以設(shè)定出現(xiàn)在窗口中對(duì)應(yīng)HTML檔中Value信息HTML檔中的radioname。chick():選定一個(gè)按事件onclick:單擊按鈕時(shí),產(chǎn)生該事件7、hidden:隱name:設(shè)定提交信息時(shí)的信稱(chēng),對(duì)應(yīng)HTML文檔的hidden中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)護(hù)理學(xué)(外科護(hù)理學(xué))試題及答案
- 2026年成都紡織高等專(zhuān)科學(xué)校單招綜合素質(zhì)筆試模擬試題帶答案解析
- 2026年廣州體育職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題帶答案解析
- 2026年保定理工學(xué)院?jiǎn)握新殬I(yè)技能考試備考題庫(kù)帶答案解析
- 2026年阜陽(yáng)幼兒師范高等專(zhuān)科學(xué)校高職單招職業(yè)適應(yīng)性測(cè)試模擬試題有答案解析
- 土地承包協(xié)議2025年生態(tài)保護(hù)條款
- 2026年河北工業(yè)職業(yè)技術(shù)大學(xué)單招綜合素質(zhì)考試模擬試題帶答案解析
- 2026年撫順職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試參考題庫(kù)帶答案解析
- 投資協(xié)議(2025年投資回報(bào))
- 投資合作協(xié)議(2025年退出機(jī)制)
- 《復(fù)合材料的熱》課件
- 城市綠化養(yǎng)護(hù)的組織架構(gòu)及職責(zé)
- 2025年中考英語(yǔ)必考詞性轉(zhuǎn)換速記
- 福建省部分地市2025屆高中畢業(yè)班第一次質(zhì)量檢測(cè) 化學(xué)試卷(含答案)
- 幼教培訓(xùn)課件:《幼兒園冬季保育護(hù)理》
- 2024-2025學(xué)年湖州市吳興區(qū)數(shù)學(xué)三上期末統(tǒng)考試題含解析
- 塔司、信號(hào)工安全晨會(huì)(班前會(huì))
- 2024全國(guó)職業(yè)院校技能大賽ZZ060母嬰照護(hù)賽項(xiàng)規(guī)程+賽題
- 回顧性臨床研究的設(shè)計(jì)和分析
- 配電一二次融合技術(shù)的發(fā)展應(yīng)用
- 鋼板鋪設(shè)安全施工方案
評(píng)論
0/150
提交評(píng)論