網(wǎng)頁(yè)制作javascript基礎(chǔ)教程js結(jié)構(gòu)_第1頁(yè)
網(wǎng)頁(yè)制作javascript基礎(chǔ)教程js結(jié)構(gòu)_第2頁(yè)
網(wǎng)頁(yè)制作javascript基礎(chǔ)教程js結(jié)構(gòu)_第3頁(yè)
網(wǎng)頁(yè)制作javascript基礎(chǔ)教程js結(jié)構(gòu)_第4頁(yè)
網(wǎng)頁(yè)制作javascript基礎(chǔ)教程js結(jié)構(gòu)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余30頁(yè)可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

1、 第七講 JavaScript控制語(yǔ)句Primary Content順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)JavaScript控制語(yǔ)句順序結(jié)構(gòu)順序結(jié)構(gòu)就是程序從上到下按順序一行一行的執(zhí)行的結(jié)構(gòu),這就是所有程序的最基本結(jié)構(gòu),一個(gè)程序大部分代碼都是采用的都是順序結(jié)構(gòu)。JavaScript控制語(yǔ)句條件結(jié)構(gòu)條件語(yǔ)句又稱選擇語(yǔ)句,是指根據(jù)條件來選擇一個(gè)任務(wù)分支的語(yǔ)句統(tǒng)稱,實(shí)現(xiàn)分支程序設(shè)計(jì)在JavScript中提供了if語(yǔ)句、if else語(yǔ)句和switch語(yǔ)句等三種條件判斷語(yǔ)句JavaScript控制語(yǔ)句條件結(jié)構(gòu)之if語(yǔ)句生活中一個(gè)形象的例子,某人在看鐘表上的時(shí)間,如果小于凌晨6點(diǎn)就決定繼續(xù)睡,如果大于6點(diǎn),就起床去

2、上班 。編程中也有類似的問題,此時(shí)可用if語(yǔ)句來描述之,其測(cè)試一個(gè)Boolean表達(dá)式,結(jié)果為真則執(zhí)行某段程序。if( )/ 條件語(yǔ)句 語(yǔ)句組 ; / 程序語(yǔ)句序列if舉例var name=prompt(請(qǐng)輸入姓名,);if(name=null | name=)alert(姓名不能為空);if 條件選擇語(yǔ)句JavaScript控制語(yǔ)句條件結(jié)構(gòu)之if-else語(yǔ)句if語(yǔ)句僅根據(jù)表達(dá)式的值決定是否執(zhí)行某個(gè)任務(wù),沒有其它更多的選擇,而if-else語(yǔ)句則提供雙路選擇功能。 if ( )/ 表達(dá)式成立時(shí) 語(yǔ)句組1; / 有效的程序語(yǔ)句else/ 表達(dá)式不成立時(shí) 語(yǔ)句組2; / 有效的程序語(yǔ)句如果要執(zhí)行

3、多個(gè)語(yǔ)句,必須將這些語(yǔ)句放在一對(duì)大括號(hào) ( ) 內(nèi)。但如果只要執(zhí)行一個(gè)語(yǔ)句,則可以省略大括號(hào)JavaScript控制語(yǔ)句條件結(jié)構(gòu)之if-else語(yǔ)句var num=prompt(請(qǐng)輸入一個(gè)整數(shù),0);if(num % 2 = 0)alert( num + 是偶數(shù));elsealert( num + 是奇數(shù));if-else-if語(yǔ)句 當(dāng)有多個(gè)可供判斷選擇的條件時(shí),單個(gè)if-else語(yǔ)句顯然不能表達(dá),于是有了if-else-if語(yǔ)句。嚴(yán)格的說if-else-if不是單獨(dú)的語(yǔ)句,而是由多個(gè)if-else組合而成,實(shí)現(xiàn)多路判斷 if( ) 語(yǔ)句組1; else if( ) 語(yǔ)句組2; else 語(yǔ)句

4、組3; JavaScript控制語(yǔ)句if-else-if舉例:var now=new Date(); /獲取系統(tǒng)當(dāng)前時(shí)間var h=now.getHours(); /獲取系統(tǒng)當(dāng)前時(shí)間的小時(shí)if(h =6 & h11 & h=13 & h18 & h=23)document.write( 晚上好);elsedocument.write( 天還沒亮);JavaScript控制語(yǔ)句例:if else語(yǔ)句var d=new Date();var time=d.getHours();if (time10)document.write(Good morning)else if (time10 & time

5、16) document.write(Good day) else document.write(Hello World!) 注意:if請(qǐng)使用小寫字母。使用大寫的 IF 會(huì)出錯(cuò)!嵌套if舉列-閏年判斷var year=prompt(請(qǐng)輸入一個(gè)四位的年份,2010);if( year % 4 =0)if( year %100 != 0)document.write(year +是閏年);else if(year % 400 = 0)document.write(year +是閏年);elsedocument.write(year + 是平年);elsedocument.write(year +

6、是平年);條件結(jié)構(gòu)之switch語(yǔ)句用if-else語(yǔ)句實(shí)現(xiàn)多路選擇結(jié)構(gòu)使程序看起來不清晰,也不容易維護(hù),于是可以選擇switch語(yǔ)句代替之。switch實(shí)現(xiàn)多路選功能,在給定的多個(gè)選擇中選擇一個(gè)符合條件的分支來執(zhí)行。 switch ( )case : 語(yǔ)句組1; case : 語(yǔ)句組2; default: 語(yǔ)句組3; JavaScript控制語(yǔ)句條件結(jié)構(gòu)之switch語(yǔ)句var x=1 / 0, 2, 3, 4, 5, 6 switch(x)case 1: alert (“Monday”); break; case 2: alert (“Tuesday”); break; case 3: a

7、lert (“Wendnesday”);break; default: alert(“sorry, I dont know”); break; JavaScript控制語(yǔ)句循環(huán)語(yǔ)句 在編程中有些指令需要執(zhí)行很多遍,這就要編寫大量的代碼。而計(jì)算機(jī)則是專門用來快速完成重復(fù)和繁瑣的工作,因此編程語(yǔ)言也就提供循環(huán)語(yǔ)句來減少重復(fù)指令的編寫 將重復(fù)執(zhí)行的動(dòng)作放在循環(huán)語(yǔ)句中,計(jì)算機(jī)將根據(jù)條件執(zhí)行之。 JavaScript的循環(huán)語(yǔ)句包括:for、while、do-while、for-in等4種 JavaScript控制語(yǔ)句while語(yǔ)句 while循環(huán)在執(zhí)行循環(huán)體前測(cè)試一個(gè)條件,如果條件成立則進(jìn)入循環(huán)體,否則

8、跳到循環(huán)后的第一條語(yǔ)句。 一些重復(fù)執(zhí)行動(dòng)作的情形比較簡(jiǎn)單時(shí)就不需要用for循環(huán),可以使用while循環(huán)代替 while( 條件表達(dá)式 )語(yǔ)句組;JavaScript控制語(yǔ)句while循環(huán)語(yǔ)句var x = 1;while(x 3) / 如果加上分號(hào)會(huì)怎樣呢? alert(“x = ”+x); x+;JavaScript控制語(yǔ)句do-while語(yǔ)句 do-while語(yǔ)句先執(zhí)行一遍循環(huán)體,循環(huán)體內(nèi)的語(yǔ)句執(zhí)行之后再測(cè)試一個(gè)條件表達(dá)式 。如果表達(dá)式成立則繼續(xù)執(zhí)行下一輪循環(huán),否則跳到do-while代碼段后的第一條語(yǔ)句。 do語(yǔ)句組; while( 條件表達(dá)式 );JavaScript控制語(yǔ)句do wh

9、ile 語(yǔ)句var x = 5;while(x 3) alert(“x = ”+x); x+;var x = 5;do alert(“x = ”+x); x+; while(x 3);比較兩代程序代碼,比較不同的運(yùn)行結(jié)果JavaScript控制語(yǔ)句for語(yǔ)句 遇到重得執(zhí)行指定次數(shù)的代碼時(shí),使用for循環(huán)比較合適 在執(zhí)行for循環(huán)執(zhí)行體中的語(yǔ)句前,有三個(gè)語(yǔ)句將得到執(zhí)行,這三個(gè)語(yǔ)句的運(yùn)行結(jié)果將決定是否要進(jìn)入for循環(huán)體 for (變量=開始值;變量=結(jié)束值;變量=變量+步長(zhǎng)值)語(yǔ)句組;JavaScript控制語(yǔ)句For循環(huán)語(yǔ)句var output = “”;for(var x= 1; x 10;

10、x+) output = output + “ x = ” + x;alert (output);for 循環(huán)語(yǔ)句JavaScript控制語(yǔ)句break 語(yǔ)句 break 語(yǔ)句能夠提前中斷循環(huán)中的執(zhí)行語(yǔ)句。continue 語(yǔ)句 跳過當(dāng)前循環(huán)的剩余語(yǔ)句,接著執(zhí)行下一次循環(huán)。 JavaScript控制語(yǔ)句break 語(yǔ)句for( i=1; i=10; i+)if( i=5)break; document.write(i+”); 1234JavaScript控制語(yǔ)句continue 語(yǔ)句for( i=1; i=10; i+)if( i=5)continue; document.write(i+ )

11、 1234678910JavaScript控制語(yǔ)句for(i=1; i=9; i+)for(j=1; j=i; j+)document.write( j + “*”+i +“=” +j*i +“”);document.write(“”);九九乘法表JavaScript控制語(yǔ)句for-in語(yǔ)句 for-in語(yǔ)句是for語(yǔ)句的一個(gè)變體,同樣是for循環(huán)語(yǔ)句for-in通常用于遍歷某個(gè)集合的每個(gè)元素,比如數(shù)組由很多元素,其元素索引構(gòu)成了一個(gè)集合,使用for-in語(yǔ)句可以遍歷該集合,進(jìn)而取得所有元素?cái)?shù)據(jù) 。for ( n in set)語(yǔ)句組;JavaScript控制語(yǔ)句異常處理語(yǔ)句 程序運(yùn)行過程中難

12、免會(huì)出錯(cuò),出錯(cuò)后的運(yùn)行結(jié)果往往是不正確的,因此運(yùn)行時(shí)出錯(cuò)的程序通常被強(qiáng)制中止。運(yùn)行時(shí)的錯(cuò)誤統(tǒng)稱為異常 try-catch try-catch-finally throw 為了能在錯(cuò)誤發(fā)生時(shí)得到一個(gè)處理的機(jī)會(huì),JavaScript提供了異常處理語(yǔ)句 JavaScript腳本調(diào)制try-catch是一個(gè)異常捕捉和處理代碼結(jié)構(gòu),當(dāng)try塊中的代碼發(fā)生異常時(shí),將由catch塊捕捉以及處理。try tryStatementscatch(exception) catchStatementsJavaScript腳本調(diào)制try-catch-finally語(yǔ)句作用與try-catch語(yǔ)句一樣,唯一的區(qū)別就是當(dāng)所

13、有過程執(zhí)行完畢之后前者的finally塊無條件被執(zhí)行 throw語(yǔ)句當(dāng)多個(gè)結(jié)構(gòu)嵌套時(shí),處于里層try-catch語(yǔ)句不打算自己處理異常則可以將其拋出,父級(jí)try-catch語(yǔ)句可以接收到子級(jí)拋出的異常。trytryStatements;catch( exception )handleStatements;finallyfianllyStatements;JavaScript腳本調(diào)制tryfor( i=1; i=10; i+)if( i=5)throw( 人為拋出異常); document.write(i+); catch(e)document.write( e );finallydocumen

14、t.write (over);try-catch-finally語(yǔ)句舉例JavaScript腳本調(diào)制腳本調(diào)試隨著用JavaScript編程的深入,你會(huì)開始理解那些JavaScript給出的不透明錯(cuò)誤信息。一旦你理解了你常犯的一般性錯(cuò)誤,你就會(huì)很快知道怎樣避免它們,這樣你寫的代碼中的錯(cuò)誤將越來越少。編程實(shí)際上是一種能隨著時(shí)間不斷飛快進(jìn)步的技術(shù)。但是不管變得多么熟練,你仍然要花一些時(shí)間調(diào)試你的代碼。 JavaScript腳本調(diào)制調(diào)試的技巧: 根據(jù)瀏覽器的提示信息 選擇瀏覽器是很重要的,不同的瀏覽器的錯(cuò)誤提示都不同,在瀏覽器中錯(cuò)誤信息最容易理解的,能最快找出錯(cuò)誤的,就是firefox和opera了。

15、它們都會(huì)給出詳細(xì)的出錯(cuò)原因和行號(hào)。 使用調(diào)試工具 如果你是Firefox的用戶,那么你可以到添加組件的網(wǎng)頁(yè)中搜索一些用于網(wǎng)頁(yè)開發(fā)的組件 推薦:Firebug 一款非常優(yōu)秀的組件,可以指出你的腳本中的錯(cuò)誤,查看DOM樹,查看cookie,ajax通信,并且還有CSS的調(diào)試工具,而且也有不少firebug的擴(kuò)展。 javascript debugger 這是mozilla開發(fā)的調(diào)試工具,項(xiàng)目代號(hào)叫venkman,和gecko的javascript解析器無縫集成,功能非常強(qiáng)大 JavaScript腳本調(diào)制清除瀏覽器緩存 有時(shí)瀏覽器會(huì)在網(wǎng)頁(yè)明明修改過的時(shí)候卻依然使用緩存里的網(wǎng)頁(yè)來顯示,這時(shí)最好強(qiáng)制刷新網(wǎng)頁(yè)以重新載入數(shù)據(jù),如果還不行就清除緩存。 輸出變量 如果你使用firebug調(diào)試的話,可以很方便地在腳本里用console.log()來輸出變量的值,而且幸運(yùn)的是,firebug還會(huì)對(duì)你輸出的變量進(jìn)行解析,在控制臺(tái)里顯示一個(gè)清晰的變量結(jié)構(gòu) 如果你沒有firebug,那么可以用alert代替,不過當(dāng)有幾百個(gè)變量輸出時(shí),很可能不得不強(qiáng)行關(guān)閉瀏覽器。在網(wǎng)頁(yè)里專門放置一個(gè)調(diào)試用的div也是一種不錯(cuò)的解決辦法。JavaScr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論