




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3章VBScript腳本語言3.1VBScript概述3.2VBScript語法基礎(chǔ) 3.3VBScript輸入與輸出3.4VBScript內(nèi)置函數(shù)3.5VBScript流程控制3.5VBScript流程控制3.7JavaScript概述 掌握VBScript的數(shù)據(jù)類型、常量、變量及各種運(yùn)算符。 熟悉VBScript的常用內(nèi)置函數(shù)。 熟悉VBScript的程序流程控制語句。 熟悉VBScript的Sub過程與Function過程。 了解JavaScript的特點(diǎn)及其基本語法規(guī)則。學(xué)習(xí)目標(biāo)3.1VBScript概述3.1.1什么是VBScript 3.1.2用VBScript開發(fā)客戶端腳本3.1.3用VBScript開發(fā)服務(wù)器端腳本 3.1.4VBScript代碼書寫規(guī)則3.1.1什么是VBScriptVBScript(MicrosoftVisualBasicScriptingEdition)是VisualBasic語言的一個(gè)子集,它并不是一個(gè)完整的程序設(shè)計(jì)語言,僅包含語言中的一些基本功能。VBScript的最大優(yōu)點(diǎn)是:用純文本建立,直接包含在HTML文檔或ASP文檔中,編輯和修改都十分方便。VBScript將靈活的腳本語言應(yīng)用于廣泛的領(lǐng)域,包括微軟IE瀏覽器中的Web客戶端腳本和微軟Web服務(wù)器IIS端的腳本。換言之,在HTML標(biāo)記代碼中嵌入VBScript程序代碼,既可以開發(fā)出在客戶端瀏覽器運(yùn)行的動(dòng)態(tài)交互網(wǎng)頁,也可以開發(fā)出在服務(wù)器端運(yùn)行的各種動(dòng)態(tài)交互網(wǎng)頁。3.1.2用VBScript開發(fā)客戶端腳本在用VBScript開發(fā)客戶端腳本程序時(shí),VBScript代碼應(yīng)寫在HTML文檔中成對的<script>標(biāo)記之間。下面用一個(gè)范例來說明Web客戶端腳本的創(chuàng)建與運(yùn)行過程?!景咐?-1】開發(fā)簡單客戶端腳本程序示例。在“記事本”窗口中輸入如下代碼,并將其命名為3-1.html并保存到“示例”文件夾下的ch3子文件夾中。<html><head><title>客戶端腳本舉例</title><scriptLANGUAGE="VBScript"><!--
MsgBox"世界你好!"&VbCrLf&"今天是:"&Date--></script></head><body></body></html>圖3-1開發(fā)客戶端腳本舉例3.1.3用VBScript開發(fā)服務(wù)器端腳本用VBScript編寫的腳本代碼同樣可以添加到HTML標(biāo)記中,形成在Web服務(wù)器端運(yùn)行的ASP文檔。然而在此種文檔中,VBScript腳本代碼必須寫在成對的“<%”和“%>”標(biāo)識符之間。【案例3-2】簡單服務(wù)器端腳本開發(fā)示例。在Windows操作系統(tǒng)的“記事本”窗口中輸入如下代碼,并將其命名為3-2.asp文件加以保存。<%@LANGUAGE="VBScript"%><html><head><title>服務(wù)器端腳本舉例</title></head><body><%Fori=3to6%><fontsize=<%=i%>>傳承文明!開拓進(jìn)取!<br/></font><%Next%></body></html>圖3-2服務(wù)器端腳本舉例3.1.4VBScript代碼書寫規(guī)則 使用VBScript代碼編寫的腳本程序由一條或多條語句組成,語句中可以包括命令詞、常量、變量、函數(shù)、運(yùn)算符和運(yùn)算式等。 在VBScript腳本代碼中可以包含注釋語句,此種語句僅作為說明之用,在程序運(yùn)行時(shí)并不執(zhí)行。編寫客戶端運(yùn)行的腳本程序時(shí),注釋語句應(yīng)被包含在“<!--”和“-->”之間。編寫服務(wù)器端運(yùn)行的腳本程序時(shí),注釋語句則應(yīng)由單引號(')開頭,在其后可以書寫任何注釋文字。
VBScript語句以行的形式編寫,一條長語句在一行中寫不下時(shí),可在每行的尾部添加下畫線“_”而分開寫在多行上。
VBScript代碼中的英文字母不區(qū)分大小寫。
VBScript腳本語言不是一種獨(dú)立的編程語言,必須依附其他代碼而存在。
VBScript腳本語言代碼是一種純文本,可以用任何一種文本編輯器編寫。3.2VBScript語法基礎(chǔ)3.2.1VBScript數(shù)據(jù)類型 3.2.2VBScript常量 3.2.3VBScript變量 3.2.4VBScript運(yùn)算符3.2.1VBScript數(shù)據(jù)類型VBScript只有一種數(shù)據(jù)類型,稱為Variant(變體類型)。Variant是一種特殊的可變數(shù)據(jù)類型,根據(jù)具體的使用方式,它可以包含不同類別的信息。Variant包含的不同數(shù)據(jù)類型稱為數(shù)據(jù)子類型,表3-1列出了Variant所包含的各種數(shù)據(jù)子類型及其簡單說明。表3-1 Variant包含的數(shù)據(jù)子類型子類型說明Empty未初始化的Variant。對于數(shù)值變量,值為0;對于字符串變量,值為零長度字符串("")Null不包含任何有效數(shù)據(jù)的VariantBoolean包含True或FalseByte包含0~255的整數(shù)Integer包含-32
768~32
767的整數(shù)Currency包含-922
337
203
685
477.5808~922
337
203
685
477.5807的貨幣格式數(shù)據(jù)Long包含-2
147
483
648~2
147
483
647的整數(shù)Single單精度浮點(diǎn)數(shù),負(fù)數(shù)范圍為-3.402823E38~-1.401298E-45,正數(shù)范圍為1.401298E-45~3.402823E38Double雙精度浮點(diǎn)數(shù),負(fù)數(shù)范圍為-1.79769313486232E308~-4.94065645841247E-324,正數(shù)范圍為4.94065645841247E-324~1.79769313486232E308Date(Time)表示日期的數(shù)字,日期范圍從公元100年1月1日到9999年12月31日String變長型字符串,最大長度可為20億個(gè)字符Object包含對象Error包含錯(cuò)誤號一般情況下,VBScript變量在運(yùn)算時(shí)其數(shù)據(jù)類型會根據(jù)需要自動(dòng)轉(zhuǎn)換,但有時(shí)也會因?yàn)閿?shù)據(jù)類型不匹配而出現(xiàn)錯(cuò)誤。這時(shí),用戶可以使用特定的轉(zhuǎn)換函數(shù)來強(qiáng)制轉(zhuǎn)換數(shù)據(jù)的子類型。另外,當(dāng)不知道某個(gè)數(shù)據(jù)的子類型時(shí),還可使用專門的VarType函數(shù)來測試。3.2.2VBScript常量常量是在程序執(zhí)行過程中其值從不發(fā)生變化的數(shù)據(jù)。在VBScript中,常量分為普通常量和符號常量。普通常量無需定義即可使用,如數(shù)字常量61.8、字符常量“網(wǎng)絡(luò)世界”等。符號常量是一個(gè)具有一定含義的名稱,用于代替數(shù)字或字符串。例如:ConstMyString="這是一個(gè)字符串。"ConstMyAge=283.2.3VBScript變量1.變量的聲明對程序中所使用的變量,建議事先進(jìn)行聲明。在腳本代碼中對變量進(jìn)行顯式聲明的方式是使用Dim語句,也可以使用Public語句聲明公用變量或者使用Private語句聲明局部變量。 變量名只能由英語字母、數(shù)字和下畫線組成。 變量名第一個(gè)字符必須是英語字母。 變量名中不能包含嵌入的句點(diǎn)。 變量名長度不能超過255個(gè)字符。 變量名不能和VBScript的保留字同名。 變量名在被聲明的作用域內(nèi)必須唯一。2.變量命名規(guī)則可以使用表達(dá)式給變量賦值,變量名在賦值號(=)的左邊,要賦的值(表達(dá)式)在賦值號(=)的右邊。3.給變量賦值多數(shù)情況下,只需為所聲明的變量賦一個(gè)值,只包含一個(gè)值的變量被稱為標(biāo)量變量。4.?dāng)?shù)組變量3.2.4VBScript運(yùn)算符VBScript有一套完整的運(yùn)算符,包括算術(shù)運(yùn)算符、比較運(yùn)算符、字符串連接運(yùn)算符和邏輯運(yùn)算符。表3-2列出了VBScript的各種運(yùn)算符。表3-2 各種VBScript運(yùn)算符算術(shù)運(yùn)算符比較運(yùn)算符邏輯運(yùn)算符描述符號描述符號描述符號求冪^等于=邏輯非Not負(fù)號-不等于<>邏輯與And乘*小于<邏輯或Or除/大于>邏輯異或Xor整除\小于等于<=邏輯等價(jià)Eqv求余Mod大于等于>=邏輯隱含Imp加+對象引用比較Is減-字符串連接&3.3VBScript輸入與輸出3.3.1輸出語句MsgBox
3.3.2輸入函數(shù)InputBox() 3.3.3輸出函數(shù)MsgBox() 3.3.4利用Write方法輸出3.3.1輸出語句MsgBoxVBScript語言提供了一個(gè)MsgBox語句來輸出指定的數(shù)據(jù)和提示信息。其基本格式為其中,MsgBox為該語句的命令詞,提示信息將顯示在彈出的對話框中,可以是字符串常量,變量或者它們的組合。MsgBox<提示信息>【案例3-3】MsgBox輸出語句應(yīng)用示例。代碼保存為3-3.html文件,在IE瀏覽器中的運(yùn)行結(jié)果如圖3-3所示。<html><head><title>MsgBox
語句舉例</title><scriptLANGUAGE="VBScript"><!--
MsgBox"北京您早!"
MsgBox"現(xiàn)在的時(shí)間是:"&time()--></script></head><body></body></html>圖3-3MsgBox
語句舉例3.3.2輸入函數(shù)InputBox()輸入函數(shù)InputBox()的作用是產(chǎn)生一個(gè)等待用戶輸入數(shù)據(jù)的對話框,待用戶在其中輸入數(shù)據(jù)并確認(rèn)后,就將所輸入內(nèi)容賦給一個(gè)指定的變量。
InputBox()的基本應(yīng)用格式為<變量>=InputBox(<提示信息>[,<標(biāo)題>])【案例3-4】利用InputBox函數(shù)輸入一串文字。代碼保存為3-4.html文件,在IE瀏覽器中的運(yùn)行效果如圖3-4所示。<html><head><title>InputBox
函數(shù)舉例</title><scriptLANGUAGE="VBScript"><!--name=InputBox("請輸入貴公司名稱:","輸入舉例")
MsgBox"您所在的公司是:"&name--></script></head><body></body></html>在瀏覽器中運(yùn)行上述文檔后,會首先在窗口內(nèi)彈出一個(gè)輸入框,待用戶輸入一個(gè)公司名稱并確定后,則將彈出一個(gè)相應(yīng)內(nèi)容的輸出消息框。圖3-4InputBox
函數(shù)舉例3.3.3輸出函數(shù)MsgBox()輸出函數(shù)MsgBox()的作用與輸出語句MsgBox類似,也是彈出一個(gè)顯示指定數(shù)據(jù)或提示信息的對話框。此外,該函數(shù)還將返回一個(gè)數(shù)據(jù),用來表示用戶在此對話框中所點(diǎn)擊的不同按鈕,并將返回值賦給指定的變量。
MsgBox()函數(shù)的語法格式為<變量>=MsgBox(<提示信息>[,<按鈕>][,<標(biāo)題>])【案例3-5】使用MsgBox函數(shù)輸出不同類型消息框示例。代碼保存為3-5.html文件,運(yùn)行后將先后彈出如圖3-5所示的4個(gè)消息框。<html><head><title>MsgBox
函數(shù)舉例</title><scriptLANGUAGE="VBScript"><!--Msg1=MsgBox("此文件已存在,覆蓋嗎?",3+32+0)Msg2=MsgBox("不允許對多個(gè)變量賦值!",VbCritical)Msg3=MsgBox("數(shù)據(jù)類型不匹配!",2+48+256)Msg4=MsgBox("已完成對數(shù)據(jù)的復(fù)制。",VbOKOnly+VbInformation)--></script></head><body></body></html>圖3-5MsgBox函數(shù)舉例3.3.4利用Write方法輸出利用MsgBox語句或者M(jìn)sgBox()函數(shù)只能以消息框的形式進(jìn)行輸出,具有其局限性。事實(shí)上,在編寫客戶端腳本程序時(shí),還可以利用文檔對象所提供的Write方法直接在瀏覽器窗口中進(jìn)行輸出。此種輸出方式的語句格式為Document.Write<輸出內(nèi)容>另外,在編寫服務(wù)器端腳本程序時(shí),則可以利用ASP所提供的Response對象的Write方法將指定的輸出內(nèi)容發(fā)送到瀏覽器窗口中輸出。此種輸出方式的語句格式為Response.Write<輸出內(nèi)容>3.4VBScript內(nèi)置函數(shù)3.4.1日期時(shí)間函數(shù) 3.4.2數(shù)學(xué)運(yùn)算函數(shù) 3.4.3字符處理函數(shù) 3.4.4數(shù)據(jù)類型判別函數(shù) 3.4.5數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 像其他各種程序設(shè)計(jì)語言一樣,VBScript提供了相當(dāng)多的內(nèi)部函數(shù)供腳本程序設(shè)計(jì)者調(diào)用。3.4.1日期時(shí)間函數(shù)VBScript提供了若干個(gè)用于獲取系統(tǒng)日期與時(shí)間的函數(shù),如表3-5所示。表3-5 日期與時(shí)間函數(shù)函數(shù)功能Now()返回當(dāng)前的系統(tǒng)日期與時(shí)間Date()返回當(dāng)前的系統(tǒng)日期Time()返回當(dāng)前的系統(tǒng)時(shí)間Day()返回指定日期中的幾號,其值為1~31的整數(shù)Month()返回指定日期的月份,其值為0~12的一個(gè)整數(shù)Year()返回指定日期的年份,為一個(gè)4位整數(shù)
WeekDay()返回一個(gè)1~7的整數(shù),代表一周中的第幾天Hour()返回一個(gè)0~23的整數(shù),代表一天中的小時(shí)值Minute()返回0~59的一個(gè)整數(shù),代表一個(gè)小時(shí)中的分鐘值Second()返回一個(gè)0~59的整數(shù),代表一分鐘內(nèi)的多少秒【案例3-6】日期時(shí)間函數(shù)應(yīng)用示例。代碼保存為3-6.html文件,在IE瀏覽器中運(yùn)行的結(jié)果如圖3-6所示。<html><head><title>日期時(shí)間函數(shù)舉例</title><scriptLANGUAGE="VBScript"><!--
Document.Write"現(xiàn)在是:"&Now()
Document.Write"<br/>今天的日期是:"&Date()
Document.Write"<br/>現(xiàn)在的時(shí)間是:"&Time()
Document.Write"<br/>今天的日期是:"&Year(Date)&"年"&_
Month(Date)&"月"&Day(Date)&"日"--></script></head><body></body></html>圖3-6日期時(shí)間函數(shù)應(yīng)用舉例3.4.2數(shù)學(xué)運(yùn)算函數(shù)VBScript提供了多個(gè)用于數(shù)學(xué)運(yùn)算的函數(shù),如表3-6所示。表3-6 數(shù)學(xué)運(yùn)算函數(shù)函數(shù)功能Abs()返回指定數(shù)值的絕對值Sqr()返回指定數(shù)值的算術(shù)平方根Int()返回不大于指定數(shù)值的最大整數(shù)fix()返回指定數(shù)值的整數(shù)部分Sgn()返回1、0或
–1,分別表示指定數(shù)為正數(shù)、零或負(fù)數(shù)Rnd()返回0~1的一個(gè)隨機(jī)數(shù)【案例3-7】數(shù)學(xué)運(yùn)算函數(shù)應(yīng)用示例。將下面的代碼保存為3-7.html文件,在瀏覽器中的運(yùn)行結(jié)果如圖3-7所示。<html><head><title>數(shù)學(xué)運(yùn)算函數(shù)舉例</title><scriptLANGUAGE="VBScript"><!--
Document.Write"SQR(10)的值是:"&sqr(10)
Document.Write"<br/>Int(-18.9)的值是:"&int(-18.9)
Document.Write"<br/>Fix(-18.9)的值是:"&fix(-18.9)Randomize
Document.Write"<br/>產(chǎn)生一個(gè)0到9的隨機(jī)數(shù):"&Int(Rnd()*10)--></script></head><body></body></html>圖3-7數(shù)學(xué)運(yùn)算函數(shù)應(yīng)用舉例3.4.3字符處理函數(shù)VBScript提供了多個(gè)用于字符處理的函數(shù),如表3-7所示。表3-7 字符處理函數(shù)函數(shù)功能Asc()返回指定字符串中第1個(gè)字符對應(yīng)的ASCIIChr()返回指定ASCII值所對應(yīng)的字符UCase()將指定字符串中各個(gè)字母轉(zhuǎn)換為大寫字母后返回LCase()將指定字符串中各個(gè)字母轉(zhuǎn)換為小寫字母后返回Len()返回指定字符串中字符的個(gè)數(shù)InStr()返回第2個(gè)字符串參數(shù)在第1個(gè)字符串參數(shù)中存在的起始位置值,不存在時(shí)則返回零值Left()返回字符串中從左端開始計(jì)的指定個(gè)數(shù)的字符Right()返回字符串中從右端開始計(jì)的指定個(gè)數(shù)的字符Mid()截取指定字符串從第n個(gè)字符開始的k個(gè)字符,n值由第2個(gè)參數(shù)指定,k值由第三個(gè)參數(shù)指定Space()返回一個(gè)由指定數(shù)目的空格組成的字符串String()將指定字符串重復(fù)n次。第1個(gè)參數(shù)為重復(fù)次數(shù),第2個(gè)參數(shù)為所要重復(fù)的字符串Trim()去除指定字符串兩端的空格Ltrim()去除指定字符串左端的空格Rtrim()去除指定字符串右端的空格【案例3-8】字符處理函數(shù)應(yīng)用示例。將下面的代碼保存為3-8.html文件,在瀏覽器中的運(yùn)行結(jié)果如圖3-8所示。<html><head><title>字符處理函數(shù)舉例</title><scriptLANGUAGE="VBScript">
Document.Write"Asc('ASP')的結(jié)果是:"&Asc("ASP")
Document.Write"<br/>Chr(88)的結(jié)果是:"&Chr(88)
aa="VBScript"bb="Script"
Document.Write"<br/>Len('VBScript')的結(jié)果是:"&Len(aa)
Document.Write"<br/>InStr('VBScript','Script')的結(jié)果是:"&InStr(aa,bb)</script></head><body></body></html>圖3-8字符處理函數(shù)應(yīng)用舉例3.4.4數(shù)據(jù)類型判別函數(shù)VBScript提供了若干個(gè)用于數(shù)據(jù)類型判別的函數(shù),如表3-8所示。這些函數(shù)均將依據(jù)判別的結(jié)果返回一個(gè)邏輯值True或False。表3-8 數(shù)據(jù)類型判別函數(shù)函
數(shù)功
能IsEmpty()判斷指定的變量或表達(dá)式是否被設(shè)定為Empty(空值)IsNumeric()判斷指定的變量或表達(dá)式是否是一個(gè)數(shù)值IsDate()判斷指定的變量或表達(dá)式是否是一個(gè)日期或時(shí)間IsNull()判斷指定的變量或表達(dá)式是否是一個(gè)空值(Null)IsArray()判斷指定的變量或表達(dá)式是否是一個(gè)數(shù)組IsObject()判斷指定的變量或表達(dá)式是否是一個(gè)對象變量3.4.5數(shù)據(jù)類型轉(zhuǎn)換函數(shù)如表3-9所示,VBScript提供了多個(gè)用于數(shù)據(jù)子類型轉(zhuǎn)換的函數(shù),這些函數(shù)大都以字母C開頭,即英文轉(zhuǎn)換的意思。表3-9 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)函
數(shù)功
能Cint()將指定表達(dá)式轉(zhuǎn)換為一個(gè)整數(shù)CBool()將指定表達(dá)式轉(zhuǎn)換為一個(gè)邏輯值,若表達(dá)式為0返回FALSE,若表達(dá)式不為0則返回TRUECDate()將指定表達(dá)式轉(zhuǎn)換為一個(gè)日期時(shí)間類型數(shù)據(jù)CDbl()將指定表達(dá)式轉(zhuǎn)換為一個(gè)雙精度數(shù)據(jù)CLng()將指定表達(dá)式轉(zhuǎn)換為一個(gè)長整型數(shù)據(jù)CSng()將指定表達(dá)式轉(zhuǎn)換為一個(gè)單精度數(shù)據(jù)CStr()將指定表達(dá)式轉(zhuǎn)換為一個(gè)字符串?dāng)?shù)據(jù)FormatCurrency()將指定表達(dá)式格式化為一個(gè)指定各式的貨幣值字符串FormatNumber()將指定表達(dá)式格式化為一個(gè)指定格式的數(shù)值字符串FormatPercent()將指定表達(dá)式格式化為一個(gè)指定格式的百分?jǐn)?shù)字符串3.5VBScript流程控制 3.5.1If語句 3.5.2Select…Case語句 3.5.3DO…Loop循環(huán) 3.5.4While…Wend循環(huán) 3.5.5For…Next循環(huán) 3.5.6循環(huán)語句的嵌套 3.5.7用Exit退出循環(huán) VBScript編寫的腳本程序也具有順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)3種基本結(jié)構(gòu)。選擇結(jié)構(gòu)的VBScript程序可使用If語句或SelectCase語句來控制腳本代碼的執(zhí)行流程。循環(huán)結(jié)構(gòu)的VBScript程序則可使用Do…Loop、While…Wend、For…Next和ForEach…Next等語句來控制腳本代碼的執(zhí)行流程。3.5.1If語句If語句結(jié)構(gòu)執(zhí)行時(shí)將首先判斷條件是否成立,根據(jù)判斷的結(jié)果為True還是為False執(zhí)行相應(yīng)的語句。其中的條件通常是一個(gè)使用比較運(yùn)算符或邏輯運(yùn)算符的表達(dá)式。根據(jù)不同的應(yīng)用需要,If語句結(jié)構(gòu)又有以下幾種不同的語句形式。如果在條件為True時(shí)僅運(yùn)行一條語句,可使用If語句的單行語法結(jié)構(gòu)。其語法格式為If<條件>Then<語句>1.條件為True時(shí)執(zhí)行單行語句【案例3-9】單行條件判斷語句應(yīng)用示例。下面的代碼在運(yùn)行后將彈出一個(gè)輸入框,若用戶輸入的成績大于80分,則將彈出顯示“成績不錯(cuò)嘛!”的消息框。<scriptLANGUAGE="VBScript">DimmyScoreScore=InputBox("請輸入考試成績:","輸入成績")IfScore>80Then MsgBox"成績不錯(cuò)嘛!"</script>如果要在條件為True時(shí)運(yùn)行多行語句,必須使用包含EndIf語句的多行(或塊)語法結(jié)構(gòu)。其語法格式為If<條件>Then<語句序列>EndIf2.條件為True時(shí)執(zhí)行多行語句可以使用If語句結(jié)構(gòu)定義兩個(gè)可執(zhí)行語句塊,條件為True時(shí)運(yùn)行某一語句塊,條件為False時(shí)運(yùn)行另一語句塊。其語法格式為If<條件>Then<語句序列1>Else<語句序列2>EndIf3.條件為True和False時(shí)分別執(zhí)行指定語句【案例3-10】條件為True和False時(shí)分別執(zhí)行指定語句。下面的代碼在運(yùn)行后若在彈出的輸入框鍵入的成績大于80分,將彈出一個(gè)“成績不錯(cuò)嘛!”的消息框,否則將彈出一個(gè)“成績不理想,尚需努力!”的消息框。<scriptLANGUAGE="VBScript">DimmyScoreScore=InputBox("請輸入考試成績:","輸入成績")IfScore>80Then
MsgBox"成績不錯(cuò)嘛!"ElseWord="成績不理想,尚需努力!"
MsgBoxWordEndIf</script>If語句結(jié)構(gòu)的一種變形是允許從多個(gè)條件中加以選擇,即添加若干個(gè)ElseIf子句以擴(kuò)充If語句的功能,使得整個(gè)結(jié)構(gòu)可以控制基于多種可能的程序流程。其語法格式為If<條件1>Then<語句塊1>ElseIf<條件2><語句塊2>ElseIf<條件3><語句塊3>…[Else<語句塊n+1>]EndIf4.對多個(gè)條件進(jìn)行判斷【案例3-11】多條件判斷語句應(yīng)用示例。這是一個(gè)在服務(wù)器端運(yùn)行的腳本程序,將根據(jù)成績變量Score的值自動(dòng)輸出相應(yīng)的成績檔次。<%DimScoreScore=82IfScore>=85Then
Response.Write"優(yōu)秀"
ElseIfScore>=75Then
Response.Write"良好"
ElseIfScore>=60Then
Response.Write"及格"Else
Response.Write"不及格"EndIf%>3.5.2Select…Case語句SelectCase語句結(jié)構(gòu)提供了If結(jié)構(gòu)的一種變通形式,可以從多個(gè)語句塊中選擇執(zhí)行其中的一個(gè),并且使得整個(gè)代碼更加簡練易讀。其語法格式為SelectCase<表達(dá)式>Case<值1><語句塊1>Case<值2><語句塊2>…[CaseElse<語句塊n+1>]EndSelect【案例3-12】Select…Case語句應(yīng)用示例。將下面的代碼保存為3-12.asp文件,這是一個(gè)在服務(wù)器端運(yùn)行的腳本程序,傳送到瀏覽器窗口的顯示結(jié)果如圖3-9所示。<%DimWeek,MyweekWeek=WeekDay(Date)SelectCaseWeekCase1
Myweek="星期日"Case2
Myweek="星期一"Case3
Myweek="星期二"Case4
Myweek="星期三"Case5
Myweek="星期四"Case6
Myweek="星期五"CaseElse
Myweek="星期六"EndSelectResponse.Write"今天是:"&Date&Space(3)&Myweek%>圖3-9SelectCase語句應(yīng)用舉例3.5.3DO…Loop循環(huán)使用Do…Loop語句可以當(dāng)條件為True時(shí)重復(fù)執(zhí)行指定的語句塊,具體又可分為DoWhile…Loop循環(huán)和Do…LoopWhile循環(huán)等多種。DoWhile…Loop循環(huán)結(jié)構(gòu)在進(jìn)入循環(huán)之前就檢查條件是否成立,當(dāng)條件為True時(shí)重復(fù)執(zhí)行指定的語句塊,直到條件變?yōu)镕alse為止。其語法格式為DoWhile<條件><語句塊>Loop1.DoWhile…Loop循環(huán)【案例3-13】利用DoWhile…Loop循環(huán)計(jì)算1到100的累加和。將下面的代碼保存為3-13.html文件,運(yùn)行結(jié)果如圖3-10所示。<scriptLANGUAGE="VBScript">Dimn,sumn=0sum=0DoWhilen<100n=n+1sum=sum+nLoop
Document.Write"1到100的累加和為:"&sum</script>圖3-10DoWhile…Loop循環(huán)語句應(yīng)用示例Do…LoopWhile循環(huán)結(jié)構(gòu)首先執(zhí)行一遍指定的語句塊,之后再檢查條件成立與否,當(dāng)條件為True時(shí)反復(fù)執(zhí)行,直到條件變?yōu)镕alse為止。其語法格式為Do<語句塊>LoopWhile<條件>2.Do…LoopWhile循環(huán)【案例3-14】利用Do…LoopWhile循環(huán)計(jì)算1到100的累加和。將下面的代碼保存為3-14.html文件,運(yùn)行結(jié)果與圖3-10所示完全相同。<scriptLANGUAGE="VBScript">Dimn,sumn=0sum=0Don=n+1sum=sum+nLoopWhilen<100
Document.Write"1到100的累加和為:"&sum</script>3.5.4While…Wend循環(huán)While…Wend語句結(jié)構(gòu)與Do…Loop語句結(jié)構(gòu)類似,此種語句在執(zhí)行過程中,每當(dāng)遇到While語句時(shí),首先判斷條件是否成立,如果成立就執(zhí)行循環(huán),不成立則退出循環(huán)。其語法格式為While<條件><語句塊>Wend【案例3-15】使用While…Wend循環(huán)語句解決雞兔同籠問題。設(shè)雞(cock)和兔(rabbit)共有頭37個(gè)、腳134個(gè),問雞、兔各為多少?將下面的代碼保存為3-15.html文件,運(yùn)行結(jié)果如圖3-11所示。<html><head><title>While...Wend循環(huán)示例</title></head><body><scriptLANGUAGE="VBScript"><!--Dimcock,rabbit,footcock=0foot=0Whilefoot<>134cock=cock+1rabbit=37-cockfoot=cock*2+rabbit*4Wend
Document.Write"HEAD=37,FOOT=134<br/>"
Document.Write"COCK="&cock&",RABBIT="&rabbit--></script></body></html>圖3-11While…Wend循環(huán)語句應(yīng)用示例3.5.5For…Next循環(huán)For…Next語句結(jié)構(gòu)用于將指定的語句塊運(yùn)行所設(shè)定的次數(shù)。此種循環(huán)中使用計(jì)數(shù)器變量,該變量的值隨每一次循環(huán)增加或減少一個(gè)步長值。其語法格式為For<循環(huán)變量>=<初始值>To<終止值>[Step<步長值>]<語句塊>Next【案例3-16】利用For…Next循環(huán)語句編寫腳本程序,在網(wǎng)頁中自動(dòng)生成一個(gè)下拉列表框。將下面的代碼保存為3-16.html文件,運(yùn)行結(jié)果如圖3-12所示。<html><head><title>For…Next循環(huán)舉例</title></head><bodyleftmargin="28">
請選擇月份:
<selectsize="1"name="SM"><scriptLANGUAGE="VBScript"><!--Fori=1To12
Document.Write"<option>"&i&"</option>"Next--></script></select>月<br/></body></html>圖3-12For…Next循環(huán)應(yīng)用示例3.5.6循環(huán)語句的嵌套VBScript允許在一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)包含另一個(gè)循環(huán)語句結(jié)構(gòu),即允許循環(huán)嵌套。對于前面所介紹的各種循環(huán)語句結(jié)構(gòu),不僅自身可以實(shí)行循環(huán)的嵌套,而且相互之間也可以實(shí)行循環(huán)嵌套?!景咐?-17】循環(huán)嵌套語句應(yīng)用示例。使用雙重循環(huán)語句輸出一個(gè)九九乘法表。將下面的代碼保存為3-17.html文件,運(yùn)行結(jié)果如圖3-13所示。<html><head><title>循環(huán)語句嵌套舉例</title></head><body><tableborder=1><scriptLANGUAGE="VBScript">Dimi,j,StrFori=1To9
Str="<tr>"Forj=1To9
Str=Str&"<td>"&i&"*"&j&"="&i*j&"</td>"Next
Str=Str&"</tr>"
Document.Write
StrNext</script></table></body></html>圖3-13用雙重循環(huán)輸出九九乘法表3.5.7用Exit退出循環(huán)VBScript語言允許在Do…Loop語句結(jié)構(gòu)的循環(huán)體中設(shè)置專門的ExitDo語句,在某個(gè)條件滿足時(shí)退出循環(huán)。此外還提供了一種專門退出For…Next循環(huán)的ExitFor語句。【案例3-18】使用Do…Loop循環(huán)語句和ExitDo退出循環(huán)語句,編寫一個(gè)猜數(shù)游戲腳本程序。代碼保存為3-18.html文件。<html><head><title>猜數(shù)游戲</title><scriptLANGUAGE="VBScript">Randomizex=int(Rnd()*100)Do
Ans=Cint(InputBox("我已想好一個(gè)100以內(nèi)的整數(shù),你猜是多少?"))IfAns=EmptyThen
MsgBox"GameIsOver!"ExitDo
ElseIf
Ans>xThen
MsgBox"你猜的數(shù)太大了!"
ElseIf
Ans<xThen
MsgBox"你猜的數(shù)太小了!"Else
MsgBox"恭喜你,猜對了!"ExitDoEndIfLoop</script></head><body></body></html>3.6VBScript過程3.6.1Sub過程 3.6.2Function過程 3.6.3VBScript過程的調(diào)用 在程序設(shè)計(jì)中,所謂過程(Procedure)是指用戶編寫的具有特定功能的一段相對獨(dú)立的程序代碼。VBScript的過程被分為Sub過程和Function過程兩大類。無論是哪類過程,在編寫腳本代碼時(shí)都必須先進(jìn)行定義,而后才可以被一個(gè)命令行或表達(dá)式顯式地調(diào)用執(zhí)行,或者在特定事件發(fā)生時(shí)被觸發(fā)而調(diào)用執(zhí)行。3.6.1Sub過程Sub過程是包含在Sub和EndSub語句之間的一組VBScript語句,執(zhí)行所規(guī)定的操作但不返回值。Sub過程的定義格式為Sub過程名([參數(shù)1,參數(shù)2,…])<語句塊>EndSub【案例3-19】定義一個(gè)計(jì)算累加和的Sub過程,并調(diào)用此過程計(jì)算1~101的累加和。代碼保存為3-19.html文件,運(yùn)行結(jié)果如圖3-14所示。<html><head><title>Sub過程舉例</title><scriptLANGUAGE="VBScript">SubSum(n)Dims,is=0i=0DoWhilei<ni=i+1s=s+iLoop
Document.Write"從1到"&n&"的累加和為:"&sEndSubSum101</script></head><body></body></html>圖3-14Sub過程應(yīng)用舉例3.6.2Function過程Function過程又被稱為函數(shù)過程,是由Function語句開始、由EndFunction語句結(jié)束的一組VBScript語句。Function過程與Sub過程不同的是:Function過程通常會返回一個(gè)值,而Sub過程不返回值。Function過程的定義格式為Function過程名([參數(shù)1,參數(shù)2,…])<語句塊><過程名>=<表達(dá)式>EndFunction【案例3-20】定義一個(gè)計(jì)算累加和的Function過程,并調(diào)用此過程計(jì)算1~101的累加和。代碼保存為3-20.html文件,運(yùn)行結(jié)果與圖3-14所示相同。<html><head><title>Function過程舉例</title><scriptLANGUAGE="VBScript">FunctionSum(n)Dims,is=0i=0DoWhilei<ni=i+1s=s+iLoopSum=sEndFunctionDocument.Write"從1到101的累加和為:"&Sum(101)</script></head><body></body></html>3.6.3VBScript過程的調(diào)用1.Sub過程的調(diào)用在調(diào)用Sub過程時(shí),只需輸入過程名及參數(shù)值,若有多個(gè)參數(shù),則各參數(shù)之間應(yīng)使用逗號分隔。2.Function過程的調(diào)用在調(diào)用Function過程時(shí),其過程名必須出現(xiàn)在變量賦值語句的右端或者出現(xiàn)在表達(dá)式中,同時(shí)必須將所有參數(shù)包含在括號之中?!景咐?-21】綜合應(yīng)用Sub過程和Function過程示例。代碼保存為3-21.html文件,運(yùn)行結(jié)果如圖3-15所示。<html><head><title>Sub和Function過程舉例</title><scriptLANGUAGE="VBScript"><!--SubConvertT()temp=InputBox("請輸入華氏溫度。","過程調(diào)用示例")Iftemp=EmptyThenExitSub
cDegree=Int(Celsius(temp)*100)/100
MsgBox"華氏"&temp&"度轉(zhuǎn)換為攝氏"&cDegree&"度。"EndSubFunctionCelsius(fDegree)Celsius=(fDegree-32)*5/9EndFunctionConvertT--></script></head><body></body></html>圖3-15華氏溫度換算為攝氏溫度【案例3-22】通過觸發(fā)事件調(diào)用過程示例。在網(wǎng)頁中設(shè)置一個(gè)按鈕并定義一個(gè)相應(yīng)的Sub過程,使得單擊這個(gè)按鈕時(shí)將自動(dòng)執(zhí)行這個(gè)Sub過程。代碼保存為3-22.html文件,運(yùn)行結(jié)果如圖3-16所示。3.通過觸發(fā)事件調(diào)用過程<html><head><title>通過觸發(fā)事件調(diào)用過程</title><scriptlanguage="VBScript">SubPushButton()
MsgBox"世界你好!"EndSub</script></head><body><inputtype="button"value="Pushme"onClick="PushButton()"/></body></html>圖3-16通過觸發(fā)事件調(diào)用過程示例3.7JavaScript概述 3.7.1JavaScript基本語法 3.7.2JavaScript變量 3.7.3JavaScript運(yùn)算符 3.7.4JavaScript對象 3.7.5JavaScript流程控制 3.7.6JavaScript函數(shù) 3.7.7JavaScript事件 3.7.8JavaScript應(yīng)用舉例 JavaScript是一種可以嵌入HTML文檔、適合于各種瀏覽器、跨平臺的腳本程序設(shè)計(jì)語言。使用JavaScript語言,并結(jié)合HTML和CSS技術(shù),可實(shí)現(xiàn)各種客戶端的交互式動(dòng)態(tài)網(wǎng)頁效果,在當(dāng)前的網(wǎng)頁設(shè)計(jì)制作方面有著廣泛的和不可替代的作用。3.7.1JavaScript基本語法1.腳本語言設(shè)定使用JavaScript編寫腳本程序時(shí),需要在程序代碼開始處用如下形式的<script>標(biāo)記進(jìn)行腳本語言種類的設(shè)定。<scriptLanguage="JavaScript">在編寫JavaScript腳本代碼時(shí),每行開始一條新語句,每條語句通常需要用分號(;)來顯式地終止,例如下列兩條語句:aBird="Robin";vartoday=newDate();2.語句與語句塊在JavaScript腳本代碼中,用大括號“{}”括起來的一組語句被稱為一個(gè)語句塊。例如,下面的示例程序代碼段用來定義一個(gè)用于將英寸轉(zhuǎn)換為其他長度單位的函數(shù),其中用大括號括起來的5條語句便構(gòu)成了一個(gè)語句塊,用來作為該函數(shù)定義的具體內(nèi)容。functionconvert(inches){feet=inches/12;miles=feet/5280;
nauticalMiles=feet/6080;cm=inches*2.54;meters=inches/39.37;}在JavaScript腳本代碼中允許添加注釋文字,單行注釋以一對正斜杠“//”開始,可以單獨(dú)作為一條語句,也可以寫在某條語句的后面;多行注釋文字則應(yīng)寫在特定的“/*”和“*/”之間。例如,在下面的代碼段中就包含了單行注釋文字和多行注釋文字。var
numA=100,numB=200; //聲明變量的值document.write(numA+numB);/*
以上程序的作用是將兩個(gè)變量的值相加并將結(jié)果顯示出來*/3.語句注釋在JavaScript中,使用等號“=”來表示賦值操作。例如,下面的JavaScript代碼語句是將數(shù)值3賦給變量anInteger,將字符串“JavaScript”賦給變量aString。anInteger=3;aString="JavaScript";4.賦值與等式需要特別注意的是:在JavaScript中比較兩個(gè)數(shù)據(jù)是否相等時(shí),不是使用一個(gè)等號,而是應(yīng)該使用一對等號“==”。例如,下面的代碼:if(age==100)Document.Write("You’re100yearsold!");JavaScript支持各種數(shù)據(jù)類型,常用的4種基本數(shù)據(jù)類型包括:數(shù)值類型(包括整數(shù)和實(shí)數(shù))、字符串類型(用單引號或者雙引號括起來的若干個(gè)字符)、布爾類型(包含True和False)和空值類型(用null表示,如果引用一個(gè)未定義的變量,將返回null)。5.?dāng)?shù)據(jù)類型3.7.2JavaScript變量1.變量聲明JavaScript采用弱類型變量,即程序中使用的變量可不必聲明。然而,在使用變量之前先用var關(guān)鍵字進(jìn)行聲明是一種良好的編程習(xí)慣。下面是一些對變量進(jìn)行聲明并給予賦初值的語句示例。varname="Andrew"; //聲明一個(gè)字符串型變量并賦初值varage=32,height=178; //允許在一行中聲明多個(gè)變量var
yn=true; //聲明一個(gè)布爾型變量并賦初值varpop=1.36e8 //1.36e8為科學(xué)記數(shù)方法,表示1.36×108JavaScript是一種區(qū)分字母大小寫的語言,因此將一個(gè)變量命名為myCounter和將其命名為mYCounter是不一樣的。另外,變量名稱的長度可以任意,但必須遵循以下規(guī)則: 第1個(gè)字符必須是字母(大小寫均可)、下畫線(_)或一個(gè)美元符($); 后續(xù)字符可以是字母、數(shù)字、下畫線或美元符; 變量名稱中不能含有空格,也不能是JavaScript的保留字。2.變量命名3.7.3JavaScript運(yùn)算符JavaScript的運(yùn)算符可分為算術(shù)運(yùn)算符、比較運(yùn)算符和邏輯運(yùn)算符等。JavaScript的算術(shù)運(yùn)算符如表3-10所示,除了常用的加、減、乘、除符號之外,還有遞增、遞減、取模等其他一些運(yùn)算符。1.算術(shù)運(yùn)算符表3-10 JavaScript算術(shù)運(yùn)算符運(yùn)
算符說明運(yùn)算符說明+加號++遞增-減號--遞減*乘號%取模/除號-負(fù)號其中,遞增運(yùn)算符“++”用來將變量的當(dāng)前值加1,遞減運(yùn)算符“--”用來將變量的當(dāng)前值減去1。例如,若變量k的值為2,則k++的結(jié)果為3。取模運(yùn)算符“%”又被稱為求余運(yùn)算符,用來取得兩數(shù)相除后的余數(shù),例如,18%4的結(jié)果為2。JavaScript的比較運(yùn)算符用來比較兩個(gè)數(shù)據(jù)的大小,并返回一個(gè)布爾值。各種JavaScript比較運(yùn)算符如表3-11所示。2.比較運(yùn)算符表3-11 JavaScript比較運(yùn)算符運(yùn)算符說明運(yùn)算符說明==等于>=大于等于<小于!=不等于>大于===恒等<=小于等于!==不恒等恒等運(yùn)算符“===”與等于運(yùn)算符“==”功能的區(qū)別在于:前者要求相比較的兩個(gè)數(shù)據(jù)不僅其值相等,且類型必須相同才算相等;后者僅需其值相等就算相等。JavaScript的邏輯運(yùn)算符如表3-12所示,包括邏輯非、邏輯與、邏輯或,以及條件運(yùn)算符等。邏輯運(yùn)算的結(jié)果同樣是返回一個(gè)布爾值。3.邏輯運(yùn)算符表3-12 JavaScript邏輯運(yùn)算符運(yùn)算符說明運(yùn)算符說明!邏輯非||邏輯或&&邏輯與?:條件運(yùn)算其中,條件運(yùn)算符“?:”是一個(gè)3目運(yùn)算符,用來構(gòu)成如下形式的條件表達(dá)式:<條件>?<表達(dá)式1>:<表達(dá)式2>;事實(shí)上,此種條件表達(dá)式是if…else語句的快捷方式,通常被用作較大表達(dá)式的一部分。例如,下面的語句代碼:vargreeting="Good"+((now.getHours()>17)?"evening.":"day.");在上述語句代碼中,首先判斷當(dāng)前時(shí)間是否已超過17點(diǎn),若超過則變量greeting將被賦予字符串“Goodevening.”,否則將被賦予字符串“Goodday.”。JavaScript的基本賦值運(yùn)算符為“=”,此外,還允許使用“+=”、“*=”等多種復(fù)合賦值運(yùn)算符,如表3-13所示。4.賦值運(yùn)算符表3-13 JavaScript賦值運(yùn)算符運(yùn)算符說明運(yùn)算符說明=基本賦值運(yùn)算,例如,a=b-=例如,a-=b等同于a=a-b+=例如,a+=b等同于a=a+b*=例如,a*=b等同于a=a*b/=例如,a/=b等同于a=a/b%=例如,a%=b等同于a=a%b3.7.4JavaScript對象對象在本質(zhì)上是有關(guān)屬性和方法的集合體。在JavaScript的腳本代碼中,可使用對象名稱后跟一個(gè)圓點(diǎn)來引用一個(gè)對象的屬性和方法。JavaScript的內(nèi)置對象包括字符串對象String、日期對象Date、數(shù)學(xué)對象Math、數(shù)組對象Array等。此外,還有常用的Window對象和Document對象。這些對象在程序設(shè)計(jì)中有著重要作用。String對象即字符串對象,是JavaScript腳本代碼中常用的對象。創(chuàng)建String對象的語法可以有以下兩種形式。<對象名>=newString(字符串常量)<對象名>="字符串常量"1.String對象String對象只有一個(gè)length屬性,用以表示其包含的字符個(gè)數(shù)。以下是String對象所具有的幾個(gè)常用方法。
charAt(索引):返回索引位置的字符。
substr(start[,length]):返回由start位置開始的length個(gè)字符。
search("字串"):返回字串在對象中的索引位置。
replace("字串1","字串2"):用字串2替換字串1。
toUpperCase("字串"):將字符串轉(zhuǎn)換為大寫。
toLowerCase("字串"):將字符串轉(zhuǎn)換為小寫。Date對象即日期對象,可用來取得或者設(shè)置日期與時(shí)間。下列兩種形式的JavaScript語句均可創(chuàng)建一個(gè)指定的Date對象。<對象名>=newDate(); //創(chuàng)建一個(gè)日期對象,包含當(dāng)前系統(tǒng)日期<對象名>=newDate(2009-10-1); //創(chuàng)建一個(gè)日期對象,并為其設(shè)定一個(gè)日期2.Date對象Date對象具有多種方法,可以獲取其包含的年、月、日、時(shí)、分、秒等信息,并且允許對其重新設(shè)定日期時(shí)間值。Date對象的常用方法如下。
getYear():取得年份,用4位整數(shù)表示。
getMonth():取得月份,其值為0~11。
getDate():取得日期,其值為1~31。
getDay():取得星期幾,其值為0~6。
getHours():取得時(shí)數(shù),其值為0~23。
setYear():用給定的參數(shù)(4位整數(shù))設(shè)定年份。
setMonth():用給定的參數(shù)(0~11)設(shè)定月份。
setDate():用給定的參數(shù)(1~31)設(shè)定日期。Script語句均可創(chuàng)建一個(gè)指定的Array對象。<對象名>=newArray(size)<對象名>=newArray(element0,element1,…,elementn)<對象名>=[element0,element1,…,elementn]其中,參數(shù)size表示數(shù)組元素的個(gè)數(shù),由于數(shù)組下標(biāo)從0開始,因而實(shí)際個(gè)數(shù)為size+1;參數(shù)element0、element1、…、elementn分別表示構(gòu)成數(shù)組的各個(gè)具體元素。3.Array對象Math對象即數(shù)學(xué)對象,用來提供基本數(shù)學(xué)函數(shù)和一些數(shù)值常量。Math對象可以直接使用,不需要通過new關(guān)鍵字創(chuàng)建。Math對象常用的方法包括Math.abs、Math.max、Math.min、Math.sqrt、Math.random、Math.round等。例如:varroot=Math.sqrt(100); //返回給定表達(dá)式的平方根var
rInt=Math.round(123.567); //返回給定表達(dá)式四舍五入的整數(shù)var
rRnd=Math.random(); //返回一個(gè)隨機(jī)數(shù)4.Math對象Window對象代表當(dāng)前瀏覽器中打開的窗口,通過該對象可以訪問Document對象、Frames對象、History對象和Location對象等。Window對象包含許多常用的屬性和方法,借此可實(shí)現(xiàn)對瀏覽器窗口的控制。
5.Window對象以下是Window對象常用的一些方法。
Open():打開或新建一個(gè)瀏覽器窗口,在其中載入一個(gè)指定的網(wǎng)頁文檔。
Close():關(guān)閉一個(gè)瀏覽器窗口。
Alert():彈出一個(gè)警告信息框。
Prompt():彈出一個(gè)提示信息框。因?yàn)閃indow對象是瀏覽器中最頂層的對象,在編寫代碼時(shí)可以直接引用它的方法。例如,下面的語句將彈出一個(gè)指定內(nèi)容的警告窗口。Alert("沒有注冊,拒絕訪問!");Document對象表示當(dāng)前瀏覽器窗口中顯示的HTML文檔,通過它可以訪問頁面中的所有元素對象,并實(shí)現(xiàn)與這些對象的交互。
Document對象的常用屬性包括bgcolor(文檔背景顏色)、title(文檔標(biāo)題)等。
Document對象的Write()方法用來在網(wǎng)頁中輸出指定字符串的內(nèi)容,該字符串可以是普通文本,也可以是HTML標(biāo)記或者兩者的組合。6.Document對象例如:Document.Write("<b>這是一個(gè)示例程序!</b>");Document對象的Writeln()方法與Write()方法的功能基本相同,只是前者在所輸出的字符串后添加一個(gè)換行符。3.7.5JavaScript流程控制JavaScript提供的程序流程控制語句包括用于分支判斷的if語句和switch語句,以及用于循環(huán)控制的for語句和while語句等。if條件語句的格式為if(條件)
語句塊1[else
語句塊2]最簡單的if語句格式可以在一行中寫完。例如:if(height>128)Document.Write("已打破世界紀(jì)錄!");1.If語句更常見的是多行的if語句或if…else語句。例如:if(a>b){max=a;min=b;}else{max=b;min=a;}Switch語句結(jié)構(gòu)提供了If語句結(jié)構(gòu)的一種變通形式,可以從多個(gè)語句塊中選擇執(zhí)行其中的一個(gè)。Switch語句的語法格式為switch(表達(dá)式){case標(biāo)簽1:
語句塊1case標(biāo)簽2:
語句塊2…[default:
語句塊n]}Switch語句的執(zhí)行過程為:當(dāng)表達(dá)式的值與某個(gè)標(biāo)簽值匹配時(shí),就執(zhí)行對應(yīng)的語句塊。2.Switch語句for循環(huán)語句的基本格式為for(變量初始值;條件;增量)
循環(huán)體(語句塊)for循環(huán)語句指定一個(gè)計(jì)數(shù)器變量及其初始值,以及一個(gè)測試條件及該計(jì)數(shù)器的增量。在每次執(zhí)行循環(huán)體之前都將測試該條件。若條件滿足,則在執(zhí)行循環(huán)體一遍之后,計(jì)數(shù)器變量將被更新。下面是for循環(huán)的腳本代碼示例。varsum=0;for(varn=1;n<=10;n++){sum+=5;
document.write(sum+"<br/>");}3.For語句while循環(huán)結(jié)構(gòu)的語法格式為while(條件)
循環(huán)體(語句塊)while語句與for語句相似,不同之處在于while語句沒有內(nèi)置計(jì)數(shù)器和增量表達(dá)式,而是將改變條件的語句置于循環(huán)體語句塊之中。下面是while循環(huán)的腳本代碼示例。4.While語句varsum=0,n=1;while(n<=10){sum+=5;document.write(sum+"<br/>");n++;}在循環(huán)語句的語句塊中,可以使用break語句使程序停止執(zhí)行循環(huán),還可以使用continue語句使程序跳過語句塊內(nèi)余下的語句而進(jìn)入下一次循環(huán)。5.使用break和continue語句3.7.6JavaScript函數(shù)JavaScript普遍采用函數(shù)來實(shí)現(xiàn)某項(xiàng)功能,或者執(zhí)行所設(shè)定的操作并返回運(yùn)行結(jié)果。除了提供有各種內(nèi)置函數(shù)外,JavaScript還允許用戶創(chuàng)建自定義函數(shù)并在需要的地方加以調(diào)用。自定義函數(shù)由一個(gè)function語句和一個(gè)語句塊組成,其語法格式如下。function函數(shù)名(參數(shù)1[,參數(shù)2,…]){
函數(shù)體(語句塊)}【案例3-23】在下面的HTML文檔中,包含在<script>標(biāo)記中的JavaScript腳本代碼用來定義一個(gè)計(jì)算階乘的函數(shù),然后調(diào)用此函數(shù)計(jì)算并輸出10的階乘。代碼保存為3-23.html文件,運(yùn)行結(jié)果如圖3-17所示。圖3-17瀏覽器中顯示的計(jì)算結(jié)果<html><head><title>自定義函數(shù)示例</title></head><body><scriptLANGUAGE="JavaScript">functionfactorial(n){
vartemp=1;
for(vari=1;i<=n;i++){temp=temp*i;}returntemp; //注意:需要將計(jì)算結(jié)果返回}document.write("10的階乘是:"+factorial(10));</script></body></html>3.7.7JavaScript事件JavaScript是基于對象、事件驅(qū)動(dòng)的腳本程序設(shè)計(jì)語言。所謂事件(Event
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中原地產(chǎn)手房買賣合同
- 學(xué)校采購校服合同
- 工地門窗安裝合同
- 建設(shè)工程勞務(wù)分包合同
- 場地汽車租賃合同
- 污水處理廠施工合同
- 漳州理工職業(yè)學(xué)院《飛機(jī)液壓與燃油系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 漳州理工職業(yè)學(xué)院《室內(nèi)模型設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西水利職業(yè)學(xué)院《現(xiàn)代儀器分析綜合實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京郵電大學(xué)世紀(jì)學(xué)院《物流管理》2023-2024學(xué)年第二學(xué)期期末試卷
- CentOS 7系統(tǒng)配置與管理(Linux 試題庫) 習(xí)題答案 (楊海艷 第2版)
- 中國氫內(nèi)燃機(jī)行業(yè)發(fā)展環(huán)境、市場運(yùn)行格局及前景研究報(bào)告-智研咨詢(2024版)
- 開學(xué)季初三沖刺中考開學(xué)第一課為夢想加油課件
- 2025年四川綿陽科技城新區(qū)投資控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 2024年沙洲職業(yè)工學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年廣東省《輔警招聘考試必刷500題》考試題庫【學(xué)生專用】
- 2025年人教版英語五年級下冊教學(xué)進(jìn)度安排表
- 水文工程施工方案
- 學(xué)校食堂餐廳管理者食堂安全考試題附答案
- 2025延長石油(集團(tuán))限責(zé)任公司社會招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
評論
0/150
提交評論