JavaScript編程基礎(chǔ)教學(xué)課件_第1頁(yè)
JavaScript編程基礎(chǔ)教學(xué)課件_第2頁(yè)
JavaScript編程基礎(chǔ)教學(xué)課件_第3頁(yè)
JavaScript編程基礎(chǔ)教學(xué)課件_第4頁(yè)
JavaScript編程基礎(chǔ)教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩95頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章JavaScript編程基礎(chǔ)11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》2教學(xué)要求了解js的概念和數(shù)據(jù)類(lèi)型了解js中使用函數(shù)了解js的表達(dá)式和運(yùn)算符掌握js中變量的使用掌握條件語(yǔ)句、循環(huán)語(yǔ)句的使用掌握js中常用對(duì)象重點(diǎn):js基本語(yǔ)法難點(diǎn):js對(duì)象的使用11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》3JavaScript教程語(yǔ)言概況JavaScript是由Nescape公司的LiveScript演變而來(lái)。在Sun公司推出Java語(yǔ)言后,Java占據(jù)了服務(wù)器端腳本的編程地位,這時(shí)十分需要與之相對(duì)應(yīng)的客戶(hù)端腳本程序。Nescape公司和Sun公司一起在1995年重新設(shè)計(jì)了LiveScript,并改名為JavaScript。JavaScript是Web頁(yè)面中的一種腳本編程語(yǔ)言,它可以用于Web系統(tǒng)的在客戶(hù)端的編程。嵌入到HTML文檔中的JavaScript腳本程序由客戶(hù)端進(jìn)行解釋并執(zhí)行,可以獲得交互效果和其它的動(dòng)態(tài)效果。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》4JavaScript幾個(gè)基本特點(diǎn)腳本編寫(xiě)語(yǔ)言

基于對(duì)象的語(yǔ)言

簡(jiǎn)單性

安全性

動(dòng)態(tài)性

跨平臺(tái)性

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》5JavaScript和Java的區(qū)別雖然JavaScript與Java有緊密的聯(lián)系,但卻是兩個(gè)公司開(kāi)發(fā)的不同的兩個(gè)產(chǎn)品。Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,特別適合于Internet應(yīng)用程序開(kāi)發(fā);JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展NetscapeNavigator功能,而開(kāi)發(fā)的一種可以嵌入Web頁(yè)面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語(yǔ)言,它的前身是LiveScript;Java的前身是Oak語(yǔ)言。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》6基于對(duì)象和面向?qū)ο?/p>

Java是一種真正的面向?qū)ο蟮恼Z(yǔ)言,即使是開(kāi)發(fā)簡(jiǎn)單的程序,必須設(shè)計(jì)對(duì)象。JavaScript是種腳本語(yǔ)言,它可以用來(lái)制作與網(wǎng)絡(luò)無(wú)關(guān)的,與用戶(hù)交互作用的復(fù)雜軟件。它是一種基于對(duì)象(ObjectBased)和事件驅(qū)動(dòng)(EventDriver)的編程語(yǔ)言。因而它本身提供了非常豐富的內(nèi)部對(duì)象供設(shè)計(jì)人員使用。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》7解釋和編譯

兩種語(yǔ)言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶(hù)端執(zhí)行之前,必須經(jīng)過(guò)編譯,因而客戶(hù)端上必須具有相應(yīng)平臺(tái)上的仿真器或解釋器,它可以通過(guò)編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定的平臺(tái)編譯代碼的束縛。JavaScript是一種解釋性編程語(yǔ)言,其源代碼在發(fā)往客戶(hù)端執(zhí)行之前不需經(jīng)過(guò)編譯,而是將文本格式的字符代碼發(fā)送給客戶(hù)編由瀏覽器解釋執(zhí)行。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》8強(qiáng)變量和弱變量

兩種語(yǔ)言所采取的變量是不一樣的。Java采用強(qiáng)類(lèi)型變量檢查,即所有變量在編譯之前必須作聲明。如:

Integerx;

Stringy;

x=1234;

x=4321;

其中X=1234說(shuō)明是一個(gè)整數(shù),Y=4321說(shuō)明是一個(gè)字符串。JavaScript中變量聲明,采用其弱類(lèi)型。即變量在使用前不需作聲明,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類(lèi)型,如:

x=1234;

y="4321";

前者說(shuō)明x為其數(shù)值型變量,而后者說(shuō)明y為字符型變量。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》9代碼格式不一樣

Java是一種與HTML無(wú)關(guān)的格式,必須通過(guò)像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中。JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動(dòng)態(tài)裝載。編寫(xiě)HTML文檔就像編輯文本文件一樣方便。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》10嵌入方式不一樣

在HTML文檔中,兩種編程語(yǔ)言的標(biāo)識(shí)不同,JavaScript使用<Script>...</Script>來(lái)標(biāo)識(shí)Java使用<applet>...</applet>來(lái)標(biāo)識(shí)。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》11編寫(xiě)第一個(gè)JavaScript程序<html>

<head>

<ScriptLanguage="JavaScript">

//JavaScriptAppearshere.

alert("這是第一個(gè)JavaScript例子!");

alert("歡迎你進(jìn)入JavaScript世界!");

alert("今后我們將共同學(xué)習(xí)JavaScript知識(shí)!");

</Script>

</Head>

</Html>11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》12編寫(xiě)第一個(gè)JavaScript程序JavaScript代碼由<ScriptLanguage="JavaScript">...</Script>說(shuō)明。在標(biāo)識(shí)<ScriptLanguage="JavaScript">...</Script>之間就可加入JavaScript腳本。

alert()是JavaScript的窗口對(duì)象方法,其功能是彈出一個(gè)具有OK對(duì)話框并顯示()中的字符串。

<!--...//-->標(biāo)識(shí):若不認(rèn)識(shí)JavaScript代碼的瀏覽器,則所有在其中的標(biāo)識(shí)均被忽略;若認(rèn)識(shí),則執(zhí)行其結(jié)果。使用注釋這是一個(gè)好的編程習(xí)慣,它使其他人可以讀懂你的語(yǔ)言。

JavaScript以</Script>標(biāo)簽結(jié)束。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》13JavaScript基本數(shù)據(jù)結(jié)構(gòu)

JavaScript提供腳本語(yǔ)言的編程與C++非常相似,它只是去掉了C語(yǔ)言中有關(guān)指針等容易產(chǎn)生的錯(cuò)誤,并提供了功能強(qiáng)大的類(lèi)庫(kù)。對(duì)于已經(jīng)具備C++或C語(yǔ)言的人來(lái)說(shuō),學(xué)習(xí)JavaScript腳本語(yǔ)言是一件非常輕松愉快的事。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》14JavaScript代碼的加入可以直接將JavaScript腳本加入文檔<ScriptLanguage="JavaScript">

JavaScript語(yǔ)言代碼;

JavaScript語(yǔ)言代碼;

....

</Script>說(shuō)明:通過(guò)標(biāo)識(shí)<Script>...</Script>指明JavaScript腳本源代碼將放入其間。

通過(guò)屬性Language="JavaScript"說(shuō)明標(biāo)識(shí)中是使用的何種語(yǔ)言,這里是JavaScript語(yǔ)言,表示在JavaScript中使用的語(yǔ)言。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》15基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型常量變量11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》16基本數(shù)據(jù)類(lèi)型在JavaScript中四種基本的數(shù)據(jù)類(lèi)型:數(shù)值(整數(shù)和實(shí)數(shù))、字符串型(用“”號(hào)或‘’括起來(lái)的字符或數(shù)值)、布爾型(使True或False表示)和空值.11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》17常量整型常量實(shí)型常量布爾值字符型常量空值11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》18表達(dá)式在定義完變量后,就可以對(duì)它們進(jìn)行賦值、改變、計(jì)算等一系列操作,這一過(guò)程通常又叫稱(chēng)一個(gè)叫表達(dá)式來(lái)完成,可以說(shuō)它是變量、常量、布爾及運(yùn)算符的集合,因此表達(dá)式可以分為算術(shù)表達(dá)式、字串表達(dá)式、賦值表達(dá)式以及布爾表達(dá)式等。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》19運(yùn)算符算術(shù)運(yùn)算符比較運(yùn)算符布爾邏輯運(yùn)算符11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》20算術(shù)運(yùn)算符JavaScript中的算術(shù)運(yùn)算符有單目運(yùn)算符和雙目運(yùn)算符。

雙目運(yùn)算符:

+(加)、-(減)、*(乘)、/(除)、%(取模)、|(按位或)、&(按位與)、<<(左移)、>>(右移)、>>>(右移,零填充)。

單目運(yùn)算符:

-(取反)、~(取補(bǔ))、++(遞加1)、--(遞減1)。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》21比較運(yùn)算符比較運(yùn)算符它的基本操作過(guò)程是,首先對(duì)它的操作數(shù)進(jìn)行比較,爾后再返回一個(gè)true或False值,有8?jìng)€(gè)比較運(yùn)算符:

<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》22布爾邏輯運(yùn)算符在JavaScript中增加了幾個(gè)布爾邏輯運(yùn)算符:

!(取反)、&=(與之后賦值)、&(邏輯與)、|=(或之后賦值)、|(邏輯或)、^=(異或之后賦值)、^(邏輯異或)、?:(三目操作符)、||(或)、==(等于)、|=(不等于)。

其中三目操作符主要格式如下:

操作數(shù)?結(jié)果1:結(jié)果2

若操作數(shù)的結(jié)果為真,則表述式的結(jié)果為結(jié)果1,否則為結(jié)果2。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》23一個(gè)跑馬燈效果的JavaScript文檔。<html>

<head>

<scriptLanguage="JavaScript">

varmsg="這是一個(gè)跑馬燈效果的JavaScript文檔";

varinterval=100;

varspacelen=120;

varspace10="";

varseq=0;

functionScroll(){

len=msg.length;

window.status=msg.substring(0,seq+1);

seq++;

if(seq>=len){

seq=spacelen;

window.setTimeout("Scroll2();",interval);

}

else

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》24一個(gè)跑馬燈效果的JavaScript文檔window.setTimeout("Scroll();",interval);

}

functionScroll2(){

varout="";

for(i=1;i<=spacelen/space10.length;i++)out+=

space10;

out=out+msg;

len=out.length;

window.status=out.substring(seq,len);

seq++;

if(seq>=len){seq=0;};

window.setTimeout("Scroll2();",interval);

}

Scroll();

</script>

<body>

</body>

</html>11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》25JavaScript程序構(gòu)成

控制語(yǔ)句函數(shù)對(duì)象方法屬性11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》26if條件語(yǔ)句基本格式

if(表述式)

語(yǔ)句段1;

......

else

語(yǔ)句段2;

.....

功能:若表達(dá)式為true,則執(zhí)行語(yǔ)句段1;否則執(zhí)行語(yǔ)句段2。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》27if語(yǔ)句的嵌套if(布爾值)語(yǔ)句1;

else(布爾值)語(yǔ)句2;

elseif(布爾值)語(yǔ)句3;

……

else語(yǔ)句4;

在這種情況下,每一級(jí)的布爾表述式都會(huì)被計(jì)算,若為真,則執(zhí)行其相應(yīng)的語(yǔ)句,否則執(zhí)行else后的語(yǔ)句。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》28For循環(huán)語(yǔ)句基本格式

for(初始化;條件;增量)

語(yǔ)句集;

功能:實(shí)現(xiàn)條件循環(huán),當(dāng)條件成立時(shí),執(zhí)行語(yǔ)句集,否則跳出循環(huán)體。

說(shuō)明:

初始化參數(shù)告訴循環(huán)的開(kāi)始位置,必須賦予變量的初值;

條件:是用于判別循環(huán)停止時(shí)的條件。若條件滿(mǎn)足,則執(zhí)行循環(huán)體,否則跳出。

增量:主要定義循環(huán)控制變量在每次循環(huán)時(shí)按什么方式變化。

三個(gè)主要語(yǔ)句之間,必須使用逗號(hào)分隔。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》29while循環(huán)基本格式

while(條件)

語(yǔ)句集;

該語(yǔ)句與For語(yǔ)句一樣,當(dāng)條件為真時(shí),重復(fù)循環(huán),否則退出循環(huán)。

For與while語(yǔ)句

兩種語(yǔ)句都是循環(huán)語(yǔ)句,使用For語(yǔ)句在處理有關(guān)數(shù)字時(shí)更易看懂,也較緊湊;而while循環(huán)對(duì)復(fù)雜的語(yǔ)句效果更特別。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》30break和continue語(yǔ)句與C++語(yǔ)言相同,使用break語(yǔ)句使得循環(huán)從For或while中跳出,continue使得跳過(guò)循環(huán)內(nèi)剩余的語(yǔ)句而進(jìn)入下一次循環(huán)。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》31函數(shù)函數(shù)為程序設(shè)計(jì)人員提供了一個(gè)豐常方便的能力。通常在進(jìn)行一個(gè)復(fù)雜的程序設(shè)計(jì)時(shí),總是根據(jù)所要完成的功能,將程序劃分為一些相對(duì)獨(dú)立的部分,每部分編寫(xiě)一個(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)。這是與其它語(yǔ)言不樣的地方。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》32JavaScript函數(shù)定義Function函數(shù)名(參數(shù)){

函數(shù)體;.

Return表達(dá)式;

}

說(shuō)明:

函數(shù)由關(guān)鍵字Function定義。

函數(shù)名:定義自己函數(shù)的名字。

參數(shù)表,是傳遞給函數(shù)使用或操作的值,其值可以是常量,變量或其它表達(dá)式。

通過(guò)指定函數(shù)名(實(shí)參)來(lái)調(diào)用一個(gè)函數(shù)。

必須使用Return將值返回。

函數(shù)名對(duì)大小寫(xiě)是敏感的。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》33函數(shù)中的形式參數(shù)在函數(shù)的定義中,我們看到函數(shù)名后有參數(shù)表,這些參數(shù)變量可能是一個(gè)或幾個(gè)。那么怎樣才能確定參數(shù)變量的個(gè)數(shù)呢?在JavaScript中可通過(guò)arguments.Length來(lái)檢查參數(shù)的個(gè)數(shù)。

例:

Functionfunction_Name(exp1,exp2,exp3,exp4)

Number=function_Name.arguments.length;

if(Number>1)

document.wrile(exp2);

if(Number>2)

document.write(exp3);

if(Number>3)

document.write(exp4);

...11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》34事件驅(qū)動(dòng)及事件處理JavaScript是基于對(duì)象(object-based)的語(yǔ)言。這與Java不同,Java是面向?qū)ο蟮恼Z(yǔ)言。而基于對(duì)象的基本特征,就是采用事件驅(qū)動(dòng)(event-driven)。它是在圖形界面的環(huán)境下,使得一切輸入變化簡(jiǎn)單化。通常鼠標(biāo)或熱鍵的動(dòng)作我們稱(chēng)之為事件(Event),而由鼠標(biāo)或熱鍵引發(fā)的一連串程序的動(dòng)作,稱(chēng)之為事件驅(qū)動(dòng)(EventDriver)。而對(duì)事件進(jìn)行處理程序或函數(shù),我們稱(chēng)之為事件處理程序(EventHandler)。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》35事件處理程序在JavaScript中對(duì)象事件的處理通常由函數(shù)(Function)擔(dān)任。其基本格式與函數(shù)全部一樣,可以將前面所介紹的所有函數(shù)作為事件處理程序。

格式如下:

Function事件處理名(參數(shù)表){

事件處理語(yǔ)句集;

……

}11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》36主要有以下幾個(gè)事件單擊事件onClickonChange改變事件選中事件onSelect獲得焦點(diǎn)事件onFocus失去焦點(diǎn)onBlur載入文件onLoad卸載文件onUnload11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》37范例1<HTML>

<HEAD>

<scriptLanguage="JavaScript">

<!--

functionloadform(){

alert("這是一個(gè)自動(dòng)裝載例子!");

}

functionunloadform(){

alert("這是一個(gè)卸載例子!");

}

//-->

</Script>

</HEAD>

<BODYOnLoad="loadform()"OnUnload="unloadform()">

<ahref="test.htm">調(diào)用</a>

</BODY>

</HTML>

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》38范例2<html>

<head>

<scriptlanguage="JavaScript"><!--

//-->

functionmakeArray(n){

this.length=n

returnthis

}

functionhexfromdec(num){

hex=newmakeArray(1);

varhexstring="";

varshifthex=16;

vartemp1=num;

for(x=1;x>=0;x--){

hex[x]=Math.round(temp1/shifthex-.5);

hex[x-1]=temp1-hex[x]*shifthex;

temp1=hex[x-1];

shifthex/=16;

}

for(x=1;x>=0;x--){hexstring+=getletter(hex[x]);}

return(hexstring);

}

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》39范例2functiongetletter(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="";

for(i=0;i<text.length;i=i+2){

color_d1=255*Math.sin(i/(text.length/3));

color_h1=hexfromdec(color_d1);

allstring+="<FONTCOLOR="+color_h1+"ff"+color_h1+">"+text.substring(i,i+2)+"</FONT>";

}

returnallstring;

}

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》40范例2functionsizefont(text){

varcolor_d1;

varallstring="";

varflag=0;

for(i=0,j=0;i<text.length;i=i+1){

if(flag==0){

j++;

if(j>=7){

flag=1;}}

if(flag==1){

j=j-1;

if(j<=0){

flag=0;}}

allstring+="<FONTSIZE="+j+">"+text.substring(i,i+1)+"</FONT>";

}

returnallstring;

}

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》41范例2document.write("<fontsize=8><CENTER>")

document.write("<BR><BR>")

document.write(sizefont("這是一個(gè)獲取WEB瀏覽器的程序"))

document.write("</CENTER></font>")

document.write("瀏覽器名稱(chēng):"+navigator.appName+"<br>");

document.write("版本號(hào):"+navigator.appVersion+"<br>");

document.write("代碼名字:"+navigator.appCodeName+"<br>");

document.write("用戶(hù)代理標(biāo)識(shí):"+navigator.userAgent);

</script>

<body>

</body>

</html>

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》42范例2輸出結(jié)果圖1所示11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》43基于對(duì)象的JavaScript語(yǔ)言

JavaScript語(yǔ)言是基于對(duì)象的(Object-Based),而不是面向?qū)ο蟮模╫bject-oriented)。之所以說(shuō)它是一門(mén)基于對(duì)象的語(yǔ)言,主要是因?yàn)樗鼪](méi)有提供象抽象、繼承、重載等有關(guān)面向?qū)ο笳Z(yǔ)言的許多功能。而是把其它語(yǔ)言所創(chuàng)建的復(fù)雜對(duì)象統(tǒng)一起來(lái),從而形成一個(gè)非常強(qiáng)大的對(duì)象系統(tǒng)。雖然JavaScript語(yǔ)言是一門(mén)基于對(duì)象的,但它還是具有一些面向?qū)ο蟮幕咎卣?。它可以根?jù)需要?jiǎng)?chuàng)建自己的對(duì)象,從而進(jìn)一步擴(kuò)大JavaScript的應(yīng)用范圍,增強(qiáng)編寫(xiě)功能強(qiáng)大的Web文檔。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》44對(duì)象的基礎(chǔ)知識(shí)對(duì)象的基本結(jié)構(gòu)引用對(duì)象的途徑有關(guān)對(duì)象操作語(yǔ)句對(duì)象屬性的引用對(duì)象的方法的引用11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》45對(duì)象的基本結(jié)構(gòu)JavaScript中的對(duì)象是由屬性(properties)和方法(methods)兩個(gè)基本的元素的構(gòu)成的。前者是對(duì)象在實(shí)施其所需要行為的過(guò)程中,實(shí)現(xiàn)信息的裝載單位,從而與變量相關(guān)聯(lián);后者是指對(duì)象能夠按照設(shè)計(jì)者的意圖而被執(zhí)行,從而與特定的函數(shù)相聯(lián)。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》46引用對(duì)象的途徑一個(gè)對(duì)象要真正地被使用,可采用以下幾種方式:1.引用JavaScript內(nèi)部對(duì)象;2.由瀏覽器環(huán)境中提供3.創(chuàng)建新對(duì)象。這就是說(shuō)一個(gè)對(duì)象在被引用之前,這個(gè)對(duì)象必須存在,否則引用將毫無(wú)意義,而出現(xiàn)錯(cuò)誤信息。從上面中我們可以看出JavaScript引用對(duì)象可通過(guò)三種方式獲取。要么創(chuàng)建新的對(duì)象,要么利用現(xiàn)存的對(duì)象。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》47有關(guān)對(duì)象操作語(yǔ)句For...in語(yǔ)句with語(yǔ)句this關(guān)鍵字New運(yùn)算符11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》48For...in語(yǔ)句格式如下:

For(對(duì)象屬性名in已知對(duì)象名)

說(shuō)明:

1.該語(yǔ)句的功能是用于對(duì)已知對(duì)象的所有屬性進(jìn)行操作的控制循環(huán)。它是將一個(gè)已知對(duì)象的所有屬性反復(fù)置給一個(gè)變量;而不是使用計(jì)數(shù)器來(lái)實(shí)現(xiàn)的。

2.該語(yǔ)句的優(yōu)點(diǎn)就是無(wú)需知道對(duì)象中屬性的個(gè)數(shù)即可進(jìn)行操作。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》49例:下列函數(shù)是顯示數(shù)組中的內(nèi)容:

FunctionshowData(object)

for(varX=0;X<30;X++)

document.write(object[i]);

該函數(shù)是通過(guò)數(shù)組下標(biāo)順序值,來(lái)訪問(wèn)每個(gè)對(duì)象的屬性,使用這種方式首先必須知道數(shù)組的下標(biāo)值,否則若超出范圍,則就會(huì)發(fā)生錯(cuò)誤。而使For...in語(yǔ)句,則根本不需要知道對(duì)象屬性的個(gè)數(shù),見(jiàn)下:

FunctionshowData(object)

for(varpropinobject)

document.write(object[prop]);

使用該函數(shù)時(shí),在循環(huán)體中,F(xiàn)or自動(dòng)將的屬性取出來(lái),直到最后為此。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》50with語(yǔ)句使用該語(yǔ)句的意思是:在該語(yǔ)句體內(nèi),任何對(duì)變量的引用被認(rèn)為是這個(gè)對(duì)象的屬性,以節(jié)省一些代碼。

withobject{

...}

所有在with語(yǔ)句后的花括號(hào)中的語(yǔ)句,都是在后面object對(duì)象的作用域的。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》51this關(guān)鍵字this是對(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。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》52New運(yùn)算符使用New運(yùn)算符可以創(chuàng)建一個(gè)新的對(duì)象。其創(chuàng)建對(duì)象使用如下格式:

Newobject=NEWObject(Parameterstable);

其中Newobject創(chuàng)建的新對(duì)象:object是已經(jīng)存在的對(duì)象;parameterstable參數(shù)表;new是JavaScript中的命令語(yǔ)句。如創(chuàng)建一個(gè)日期新對(duì)象

newData=NewData()

birthday=NewData(December12.1998)

之后就可使NewData、birthday作為一個(gè)新的日期對(duì)象了。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》53對(duì)象屬性的引用使用點(diǎn)(.)運(yùn)算符:university.Name=“廣西”通過(guò)對(duì)象的下標(biāo)實(shí)現(xiàn)引用:university[0]=“廣西”通過(guò)字符串的形式實(shí)現(xiàn):university["Name"]=“廣西”11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》54對(duì)象的方法的引用在JavaScript中對(duì)象方法的引用是非常簡(jiǎn)單的。

ObjectName.methods()

實(shí)際上methods()=FunctionName方法實(shí)質(zhì)上是一個(gè)函數(shù)。如引用university對(duì)象中的showmy()方法,則可使用:

document.write(university.showmy())

或:document.write(university)

如引用math內(nèi)部對(duì)象中cos()的方法

則:

with(math)

document.write(cos(35));

document.write(cos(80));

若不使用with則引用時(shí)相對(duì)要復(fù)雜些:

document.write(Math.cos(35))

document.write(math.sin(80))11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》55常用對(duì)象的屬性和方法JavaScript為我們提供了一些非常有用的常用內(nèi)部對(duì)象和方法。用戶(hù)不需要用腳本來(lái)實(shí)現(xiàn)這些功能。這正是基于對(duì)象編程的真正目的。在JavaScript提供了string(字符串)、math(數(shù)值計(jì)算)和Date(日期)三種對(duì)象和其它一些相關(guān)的方法。從而為編程人員快速開(kāi)發(fā)強(qiáng)大的腳本程序提供了非常有利的條件。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》56常用內(nèi)部對(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內(nèi)部對(duì)象的引用,以是緊緊圍繞著它的屬性與方法進(jìn)行的。因而明確對(duì)象的靜動(dòng)性對(duì)于掌握和理解JavaScript內(nèi)部對(duì)象是具有非常重要的意義。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》57串對(duì)象string對(duì)象:內(nèi)部靜態(tài)性。

訪問(wèn)properties和methods時(shí),可使用(.)運(yùn)算符實(shí)現(xiàn)。

基本使用格式:objectNp/methods

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》58串對(duì)象的屬性string對(duì)象只有一個(gè)屬性,即length。它表明了字符串中的字符個(gè)數(shù),包括所有符號(hào)。

例:

mytest="ThisisaJavaScript"

mystringlength=mytest.length

最后mystringlength返回mytest字串的長(zhǎng)度為20。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》59串對(duì)象的方法string對(duì)象的方法共有19個(gè)。主要用于有關(guān)字符串在Web頁(yè)面中的顯示、字體大小、字體顏色、字符的搜索以及字符的大小寫(xiě)轉(zhuǎn)換。

其主要方法如下:

o錨點(diǎn)anchor():該方法創(chuàng)建如用Html文檔中一樣的anchor標(biāo)記。使用anchor如用Html中(AName="")一樣。通過(guò)下列格式訪問(wèn):string.anchor(anchorName)。

o有關(guān)字符顯示的控制方法

big字體顯示,Italics()斜體字顯示,bold()粗體字顯示,blink()字符閃爍顯示,small()字符用小體字顯示,fixed()固定高亮字顯示、fontsize(size)控制字體大小等。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》60o字體顏色方法;fontcolor(color)

o字符串大小寫(xiě)轉(zhuǎn)換

toLowerCase()-小寫(xiě)轉(zhuǎn)換,toUpperCase()大寫(xiě)轉(zhuǎn)換。下列把一個(gè)給定的串分別轉(zhuǎn)換成大寫(xiě)和小寫(xiě)格式:

string=stringValue.toUpperCase和string=stringValue.toLowerCase。

o字符搜索:indexOf[charactor,fromIndex]

從指定formIndtx位置開(kāi)始搜索charactor第一次出現(xiàn)的位置。

返回字串的一部分字串:substring(start,end)

從start開(kāi)始到end的字符全部返回。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》61算術(shù)函數(shù)的math對(duì)象功能:提供除加、減、乘、除以外的一引些自述運(yùn)算。如對(duì)數(shù),平方根等。靜動(dòng)性:靜態(tài)對(duì)象主要屬性: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。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》62算術(shù)函數(shù)的math對(duì)象主要方法: 絕對(duì)值:abs()

正弦余弦值:sin(),cos()

反正弦反余弦:asin(),acos()

正切反正切:tan(),atan()

四舍五入:round()

平方根:sqrt()

基于幾方次的值:Pow(base,exponent)

...

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》63日期及時(shí)間對(duì)象功能:提供一個(gè)有關(guān)日期和時(shí)間的對(duì)象。靜動(dòng)性:動(dòng)態(tài)性,即必須使用New運(yùn)算符創(chuàng)建一個(gè)實(shí)例。例:

MyDate=NewDate()

Date對(duì)象沒(méi)有提供直接訪問(wèn)的屬性。只具有獲取和設(shè)置日期和時(shí)間的方法。

日期起始值:1770年1月1日00:00:00。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》64獲取日期的時(shí)間方法

getYear():返回年數(shù)

getMonth():返回當(dāng)月號(hào)數(shù)

getDate():返回當(dāng)日號(hào)數(shù)

getDay():返回星期幾

getHours():返回小時(shí)數(shù)

getMintes(:返回分鐘數(shù)

getSeconds():返回秒數(shù)

getTime():返回毫秒數(shù)11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》65設(shè)置日期和時(shí)間

setYear():設(shè)置年

setDate():設(shè)置當(dāng)月號(hào)數(shù)

setMonth():設(shè)置當(dāng)月份數(shù)

setHours():設(shè)置小時(shí)數(shù)

setMintes():設(shè)置分鐘數(shù)

setSeconds():設(shè)置秒數(shù)

setTime():設(shè)置毫秒數(shù)11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》66JavaScript中的系統(tǒng)函數(shù)JavaScript中的系統(tǒng)函數(shù)又稱(chēng)內(nèi)部方法。它提供了與任何對(duì)象無(wú)關(guān)的系統(tǒng)函數(shù),使用這些函數(shù)不需創(chuàng)建任何實(shí)例,可直接用。

1.返回字符串表達(dá)式中的值:

方法名:eval(字串表達(dá)式),例:

test=eval(“8+9+5/2”);

2.返回字符串ASCI碼:

方法名:unEscape(string)

3.返回字符的編碼:

方法名:escape(character)

4.返回實(shí)數(shù):

parseFloat(floustring);

5.返回不同進(jìn)制的數(shù):

parseInt(numbestring,radiX)

其中radix是數(shù)的進(jìn)制,numbs字符串?dāng)?shù)11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》67在JavaScript中創(chuàng)建新對(duì)象

使用JavaScript可以創(chuàng)建自己的對(duì)象。雖然JavaScript內(nèi)部和瀏覽器本身的功能已十分強(qiáng)大,但JavaScript還是提供了創(chuàng)建一個(gè)新對(duì)象的方法。使其不必像超文本標(biāo)識(shí)語(yǔ)言那樣,求于或其它多媒體工具,就能完成許多復(fù)雜的工作。

在JavaScript中創(chuàng)建一個(gè)新的對(duì)象是十分簡(jiǎn)單的。首先它必須定義一個(gè)對(duì)象,而后再為該對(duì)象創(chuàng)建一個(gè)實(shí)例。這個(gè)實(shí)例就是一個(gè)新對(duì)象,它具有對(duì)象定義中的基本特征。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》68對(duì)象的定義JavaScript對(duì)象的定義,其基本格式如下:

FunctionObject(屬性表)

Tp1=prop1

Tp2=prop2

...

This.meth=FunctionName1;

This.meth=FunctionName2;

...

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》69在一個(gè)對(duì)象的定義中,可以為該對(duì)象指明其屬性和方法。通過(guò)屬性和方法構(gòu)成了一個(gè)對(duì)象的實(shí)例。如以下是一個(gè)關(guān)于University對(duì)象的定義:

Functionuniversity(name,city,creatDateURL)

T=name

This.city=city

This.creatDate=NewDate(creatDate)

This.URL=URL

其基本含義如下:

Name-指定一個(gè)“單位”名稱(chēng)。

City-“單位”所在城市。

CreatDate-記載university對(duì)象的更新日期。

URL-該對(duì)象指向一個(gè)網(wǎng)址。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》70創(chuàng)建對(duì)象實(shí)例一旦對(duì)象定義完成后,就可以為該對(duì)象創(chuàng)建一個(gè)實(shí)例了:

NewObject=Newobject();

其中Newobjet是新的對(duì)象,Object已經(jīng)定義好的對(duì)象。例:

U1=Newuniversity(“云南省”,“昆明市”,"January05,199712:00:00","http://www.YN.KM")

U2=Newuniversity(“云南電子科技大學(xué)”,“昆明”,"January07,199712:00:00","htlp://www.YNKJ.CN")

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》71對(duì)象方法的使用在對(duì)象中除了使用屬性外,有時(shí)還需要使用方法。在對(duì)象的定義中,我們看到This.meth=FunctionName語(yǔ)句,那就是為定義對(duì)象的方法。實(shí)質(zhì)對(duì)象的方法就是一個(gè)函數(shù)FunctionName,通過(guò)它實(shí)現(xiàn)自己的意圖例在university對(duì)象中增加一個(gè)方法,該方法是顯示它自己本身,并返回相應(yīng)的字串。

…..

This.showuniversity=showuniversity;

其中This.showuniversity就是定義了一個(gè)方法---showuniversity()。

而showuniversity()方法是實(shí)現(xiàn)university對(duì)象本身的顯示。

functionshowuniversity()

For(varpropinthis)

alert(prop+="+this[prop]+"");

其中alert是JavaScript中的內(nèi)部函數(shù),顯示其字符串。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》72JavaScript中的數(shù)組使用New創(chuàng)建數(shù)組

JavaScript中沒(méi)有提供像其它語(yǔ)言具有明顯的數(shù)組類(lèi)型,但可以通過(guò)function定義一個(gè)數(shù)組,并使用New對(duì)象操作符創(chuàng)建一個(gè)具有下標(biāo)的數(shù)組。從而可以實(shí)現(xiàn)任何數(shù)據(jù)類(lèi)型的存儲(chǔ)。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》73定義對(duì)象的數(shù)組FunctionarrayName(size){

This.length=Size;

for(varX=;X<=size;X++)

this[X]=0;

Returethis;

}

其中arrayName是定義數(shù)組的一個(gè)名子,Size是有關(guān)數(shù)組大小的值(1-size),即數(shù)組元素的個(gè)數(shù)。通過(guò)for循環(huán)對(duì)一個(gè)當(dāng)前對(duì)象的數(shù)組進(jìn)行定義,最后返回這個(gè)數(shù)組。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》74創(chuàng)建數(shù)組實(shí)例一個(gè)數(shù)組定義完成以后,還不能馬上使用,必須為該數(shù)組創(chuàng)建一個(gè)數(shù)組實(shí)例:

Myarray=NewarrayName(n);

并賦于初值:

Myarray[1]=“字串1”;

Myarray[2]=“字串2”;

Myarray[3]=“字串3”;

...

Myarray[n]=“字串n”;

一旦給數(shù)組賦于了初值后,數(shù)組中就具有真正意義的數(shù)據(jù)了,以后就可以在程序設(shè)計(jì)過(guò)程中直接引用。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》75創(chuàng)建多維數(shù)組FunctioncreatMArray(row,col){

varindx=0;

this.length=(row*10)+col

for(varx=1;x<=row;x++)

for(vary=1;y<=col;y++)

indx=(x*10)+y;

this[indx]=””;

}

myMArray=newcreatMArray();

之后可通過(guò)myMArray[11]、myMArray[12]、myMArray[13]、myMArray[21]、myMArray[22]、myMArray[23]、

…來(lái)引用。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》76內(nèi)部數(shù)組在JS中為了方便內(nèi)部對(duì)象的操作,可以使用窗體(Forms)、框架(Frames)、元素(element)、鏈接(links)和錨(Anchors)數(shù)組實(shí)現(xiàn)對(duì)象的訪問(wèn)。anchors[]:使用<Aname=“anchorName“>標(biāo)識(shí)來(lái)建立錨的鏈接。links[]:使用<Ahref=”URL”>來(lái)定義一個(gè)超文本鏈接項(xiàng)。Forms[]:在程序中使用多窗體時(shí),建立該數(shù)組。它是通過(guò)<formname=“form1”>所指定的Elements[]:在一個(gè)窗口中使用從個(gè)元素時(shí),建立該數(shù)組。Frames[]:建立框架時(shí),使用該數(shù)組11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》77JavaScript對(duì)象系統(tǒng)的使用

使用瀏覽器的內(nèi)部對(duì)象系統(tǒng),可實(shí)現(xiàn)與HTML文檔進(jìn)行交互。它的作用是將相關(guān)元素組織包裝起來(lái),提供給程序設(shè)計(jì)人員使用,從而減輕編程人的勞動(dòng),提高設(shè)計(jì)Web頁(yè)面的能力。編程人員利用這些對(duì)象,可以對(duì)WWW瀏覽器環(huán)境中的事件進(jìn)行控制并作出處理。在JavaScript中提供了非常豐富的內(nèi)部方法和屬性,從而減輕了編程人員的工作,提高編程效率11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》78JavaScript對(duì)象系統(tǒng)

瀏覽器對(duì)象(Navigator)窗口對(duì)象(Window)文檔對(duì)象(Document)位置對(duì)象(Location)歷史對(duì)象(History)在這些對(duì)象系統(tǒng)中,文檔對(duì)象非常重要,它位于最低層,但對(duì)于我們實(shí)現(xiàn)Web頁(yè)面信息交互起作關(guān)鍵作用。因而它是對(duì)象系統(tǒng)的核心部分。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》79document對(duì)象的主要作用LinksAnchorFormMethodProp鏈接對(duì)象錨對(duì)象窗體對(duì)象方法對(duì)象document對(duì)象的主要作用就是把這些基本的元素(如links,anchor等)包裝起來(lái),提供給編程人員使用。從另一個(gè)角度看,document對(duì)象中又是由屬性和方法組成。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》80文檔對(duì)象的基本元素(1)窗體屬性:forms

窗體屬性是與HTML文檔中<Form>...</Form>相對(duì)應(yīng)的一組對(duì)象在HTML文檔所創(chuàng)建的窗體數(shù),由length指定。通過(guò)document.forms.length反映該文檔中所創(chuàng)建的窗體數(shù)目。

(2)錨屬性:anchors

該屬性中,包含了HTML文檔的所有<A></A>標(biāo)記為Name=...的語(yǔ)句標(biāo)識(shí)。所有“錨”的數(shù)目保存在document.anchors.length中。

(3)鏈接屬性:links

鏈接屬性是指在文檔中<A>...</A>的由Href=...指定的數(shù)目,其鏈接數(shù)目保存在document.links.length中。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》81JavaScript窗口及輸入輸出

JavaScript是基于對(duì)象的腳本編程語(yǔ)言,那么它的輸入輸出就是通過(guò)對(duì)象來(lái)完成的。其中有關(guān)輸入可通過(guò)窗口(Window)對(duì)象來(lái)完成,而輸出可通過(guò)文檔(document)對(duì)象的方法來(lái)實(shí)現(xiàn)。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》82窗口及輸入輸出請(qǐng)看下面例子:

<HTML>

<Head>

<scriptlanguaga="JavaScript">

Vartest=mpt("請(qǐng)輸入數(shù)據(jù):");

document.write(test+"JavaScript輸入輸出的例子");

</script>

</Head>

</HTML>

其中mpt()就是一個(gè)窗口對(duì)象的方法,其基本作用是,當(dāng)裝入Web頁(yè)面時(shí)在屏幕上顯示一個(gè)具有“確定”和“取消”的對(duì)話框,讓你輸出數(shù)據(jù)。document.writle是一個(gè)文檔對(duì)象的方法,它的基本功能,是實(shí)現(xiàn)Web頁(yè)面的輸出顯示。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》83窗口對(duì)象該對(duì)象包括許多有用的屬性、方法和事件驅(qū)動(dòng)程序,編程人員可以利用這些對(duì)象控制瀏覽器窗口顯示的各個(gè)方面,如對(duì)話框、框架等。在使用應(yīng)注意以下幾點(diǎn):

該對(duì)象對(duì)應(yīng)于HTML文檔中的<Body>和<FrameSet>兩種標(biāo)識(shí);

onload和onunload都是窗口對(duì)象屬性;

在JavaScript腳本中可直接引用窗口對(duì)象。如:

window.alert("窗口對(duì)象輸入方法")

可直接使用以下格式:

alert("窗口對(duì)象輸入方法")

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》84窗口對(duì)象的事件驅(qū)動(dòng)窗口對(duì)象主要有裝入Web文檔事件onload和卸載時(shí)onunload事件。用于文檔載入和停止載入時(shí)開(kāi)始和停止更新文檔。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》85窗口對(duì)象的方法窗口對(duì)象的方法主要用來(lái)提供信息或輸入數(shù)據(jù)以及創(chuàng)建一個(gè)新的窗口。創(chuàng)建一個(gè)新窗口open()

使用window.open(參數(shù)表)方法可以創(chuàng)建一個(gè)新的窗口。其中參數(shù)表提供有窗口的主要特性和文檔及窗口的命名。具有OK按鈕的對(duì)話框

alert()方法能創(chuàng)建一個(gè)具有OK按鈕的對(duì)話框。具有OK和Cancel按鈕的對(duì)話框

confirm()方法為編程人員提供一個(gè)具有兩個(gè)按鈕的對(duì)話框。具有輸入信息的對(duì)話框

prompt()方法允許用戶(hù)在對(duì)話框中輸入信息,并可使用默認(rèn)值,其基本格式如下prompt(“提示信息”,默認(rèn)值)。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》86窗口對(duì)象中的屬性窗口對(duì)象中的屬性主要用來(lái)對(duì)瀏覽器中存在的各種窗口和框架的引用,其主要屬性有以下幾個(gè):

(1)frames確文檔中幀的數(shù)目

frames(幀)作為實(shí)現(xiàn)一個(gè)窗口的分隔操作,起到非常有用的作用,在使用注意以下幾點(diǎn):

frames屬性是通過(guò)HTML標(biāo)識(shí)<Frames>的順序來(lái)引用的,它包含了一個(gè)窗口中的全部幀數(shù)。

幀本身已是一類(lèi)窗口,繼承了窗口對(duì)象所有的全部屬性和方法。

(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)前窗口。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》87輸出流及文檔對(duì)象在JavaScript文檔對(duì)象中,提供了用于顯示關(guān)閉、消除、打開(kāi)HTML頁(yè)面的輸出流。創(chuàng)建新文檔open()方法write()、writeln()輸出顯示關(guān)閉文檔流close()清除文檔內(nèi)容clear()11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》88簡(jiǎn)單的輸入、輸出例子輸入:Wmpt("提示信",預(yù)定輸入信息);輸出:document.write()方法和document.writeln()方法

說(shuō)明:

write()和writeln()方法都是用于向?yàn)g覽器窗口輸出文本字串;

二者的唯一區(qū)別就是writeln()方法自動(dòng)在文本之后加入回車(chē)符。window.alert()輸出,在JavaScript為了方便信息輸出,JavaScript提供了具有獨(dú)立的對(duì)話框信息輸出─alert()方法。

11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》89利用輸入、輸出方法實(shí)現(xiàn)交互<HTML>

<HEAD>

<TITLE></TITLE>

</HEAD>

<BODY>

<ScriptLanguage="JavaScript">

<!--HideFromOtherBrowsers

document.write("<H1>有關(guān)交互的例子");

my=prompt("請(qǐng)輸入數(shù)據(jù):");

document.write(my+"</H1>");

document.close();

//StopHidingfromOtherBrowsers-->

</Script>

</BODY>

</HTML>

從上面程序可以看出:

可通過(guò)write()和prompt()方法實(shí)現(xiàn)交互。

在JavaScript腳本語(yǔ)言中可以使用HTML標(biāo)識(shí)語(yǔ)言的代碼。從而實(shí)現(xiàn)混合編程。其中<H1>和<Br>就是HTML標(biāo)識(shí)符。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》90窗體基礎(chǔ)知識(shí)窗體對(duì)象可以使設(shè)計(jì)人員能用窗體中不同的元素與客戶(hù)機(jī)用戶(hù)相交互,而用不著在之前首先進(jìn)行數(shù)據(jù)輸入,就可以實(shí)現(xiàn)動(dòng)態(tài)改變Web文檔的行為。11一月2023《基于WEB的JAVA開(kāi)發(fā)設(shè)計(jì)》91什么是窗體對(duì)象窗體(Form):它是構(gòu)成了Web頁(yè)面的基本元素。通常一個(gè)Web頁(yè)面有一個(gè)窗體或幾個(gè)窗體,使用Forms[]數(shù)組來(lái)實(shí)現(xiàn)不同窗體的訪問(wèn)。

<formName=Form1>

<INPUTtype=text...>

<Inputtype=tex

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論