《javascript第二章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《javascript第二章.ppt(18頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、WE ARE CHANGING,第二章,JavaScript流程控制和函數(shù),掌握if語句和switch語句 掌握循環(huán)控制語句3種結(jié)構(gòu) 掌握常用的內(nèi)置函數(shù) 掌握函數(shù)的定義與調(diào)用,本章目標(biāo),簡單if語句 If else 語句 多重if語句,if語句,if(條件表達(dá)式) 語句塊; ,if(條件表達(dá)式) 語句塊1; else 語句塊2; ,if(條件表達(dá)式) 語句塊1; else if(條件表達(dá)式2) 語句塊2; else if(條件表達(dá)式n) 語句塊n; else 語句塊n +1; ,4,if-else 示例,輸入分?jǐn)?shù):50 顯示考試不及格對話框, = 60) //判斷分?jǐn)?shù)是否=60,返回t
2、rue或false alert(考試及格!); //如果分?jǐn)?shù)=60為true則顯示及格的消息 else alert(考試不及格!); //如果分?jǐn)?shù) ,多重if 示例, = 90) //判斷分?jǐn)?shù)是否=90,返回true或false alert(你的成績一級(jí)棒啊!); else if(score=80 //--,輸入不同分?jǐn)?shù),顯示不同的對話框,這里我們碰到了短路與 和短路和的問題,switch多分支語句,switch語句和示例,switch (表達(dá)式) case 常量1 : JavaScript語句1; break; case 常量2 : JavaScript語句2; break
3、; ... default : JavaScript語句3; , ,7,while(條件表達(dá)式) 語句; ,while循環(huán) do-while循環(huán) for循環(huán),循環(huán)語句,do 語句; while (條件表達(dá)式);,for(初始化; 條件; 增量) 語句; ,8,2008年全球福布斯財(cái)富排行榜(前5位) 循環(huán)輸出字符 打印99乘法表,循環(huán)示例,); while(b); while(c); while(d); while(e, 請輸入幾個(gè)字母看看效果:); do var character; character = prompt(請輸入一個(gè)字母,輸入N或n結(jié)束:,B);//輸入對
4、話框 document.write( +character+); while(character!=n //-- , ); //每行結(jié)束換行 //-- ,9,break語句:跳出正在執(zhí)行的循環(huán)結(jié)構(gòu) 求前10個(gè)數(shù)的和 continue語句:忽略continue后面的語句,從下一次循環(huán)開始執(zhí)行 輸出100以內(nèi)的偶數(shù),循環(huán)控制break 和continue, , ,聯(lián)合使用break和continue語句, 求前10個(gè)偶數(shù)的和,怎樣寫呢?,函數(shù)的含義:類似于Java中的方法,是執(zhí)行特定任務(wù)的語句塊。,什么是函數(shù),如何希望點(diǎn)擊某個(gè)按鈕后才顯示“今天心情好好??!”, 怎么辦?,11,,什么是函數(shù),1、在
5、頁面中加入一個(gè)表單和一個(gè)按鈕。 2、把要顯示的代碼放置到函數(shù)中,當(dāng)點(diǎn)擊按鈕時(shí),才調(diào)用該函數(shù)顯示“今天心情好好??!”,代碼:, 無參數(shù)無返回值函數(shù) ,12,函數(shù)的定義:語法 函數(shù)的調(diào)用: 函數(shù)調(diào)用和表單元素的事件一起使用, 調(diào)用格式為 :事件名“函數(shù)名”,函數(shù)的定義和調(diào)用,注意事項(xiàng): 函數(shù)名區(qū)分大小寫,且不能相同,更不能使用JavaScript的關(guān)鍵字。 在function關(guān)鍵字之前不能指定返回值的數(shù)據(jù)類型。 函數(shù)定義中 是指可選的,也就是說,自定義的函數(shù)可以帶參數(shù),也可以不帶參數(shù),如果有參數(shù),參數(shù)可以是變量、常量或表達(dá)式。自定義函數(shù)可以有返回值,也可以沒有,如果省略了return語句,則函
6、數(shù)返回undefined。 函數(shù)的參數(shù)列表中不象Java一樣指定參數(shù)的數(shù)據(jù)類型,只寫參數(shù)量名字。 參數(shù)列表中如果有多個(gè)參數(shù),則各參數(shù)之間需要以“,”隔開。 函數(shù)必須放在標(biāo)簽之間。 函數(shù)的定義最好放在網(wǎng)頁的部分。 定義函數(shù)時(shí)并不執(zhí)行組成該函數(shù)的代碼,只有調(diào)用函數(shù)時(shí)才執(zhí)行代碼。,function 函數(shù)名( 參數(shù)列表 ) 程序語句 return 返回值; ,,13,計(jì)算任意給定的區(qū)間的數(shù)的和,有參數(shù)和返回值的函數(shù),定義帶參數(shù)的函數(shù),用兩個(gè)形參來分別表示左右區(qū)間 在函數(shù)里循環(huán)累加區(qū)間里的數(shù),把累加和返回 在調(diào)用函數(shù)的代碼里傳如區(qū)間值,使用變量來接收返回值,顯示和。,代碼:, 有參數(shù)有返回值函數(shù)
7、var sum= 0 ; sum = sumbetween(1,100); //調(diào)用sumbetween函數(shù) document.write(1至100之間所有整數(shù)的和為:+sum); ,有沒有可能在函數(shù)的定義時(shí),不給出參數(shù)列表,在函數(shù)的調(diào)用時(shí)給出實(shí)參?,沒有參數(shù)的函數(shù),可以,在函數(shù)內(nèi)部使用arguments對象來訪問函數(shù)被調(diào)用時(shí)程序傳給該函數(shù)的所有實(shí)參。,代碼:, 有參數(shù)有返回值函數(shù) var sum= 0 ; sum = sumbetween(1,100); //調(diào)用sumbetween函數(shù) document.write(1至100之間所有整數(shù)的和為:+sum); ,全局變量: 指在標(biāo)簽中
8、聲明的變量。 獨(dú)立于所有函數(shù)之外,作用范圍是該變量聲明后的所有語句,包括其后定義在的函數(shù)中的語句。 局部變量: 在函數(shù)中聲明的變量只有在該函數(shù)中、且位于該變量聲明之后的程序代碼才可以使用這個(gè)變量。 函數(shù)的參數(shù)列表中的變量也是屬于該函數(shù)的局部變量。 局部變量一定是屬于某個(gè)函數(shù),故對其后的其它函數(shù)和腳本代碼來說都是不可見的(不能訪問)。 如果在其后的其它函數(shù)和腳本代碼中聲明了與這個(gè)局部變量同名的變量,則這兩個(gè)變量沒有任何關(guān)系。,全局變量和局部變量, 全局變量和局部變量 var number=100,sum=100; //聲明2個(gè)全局變量 function changeValue() var n
9、umber = 10; //聲明和全局變量同名的局部變量number document.write(number = +number+); //輸出局部變量number document.write(sum = +sum+); //輸出全局變量sum changeValue(); //調(diào)用函數(shù) document.write( number = +number+); //輸出全局變量number ,parseInt (String) 將字符串轉(zhuǎn)換為整型數(shù)字 如: parseInt (“86”)將字符串“86”轉(zhuǎn)換為整型值86 parseFloat(String) 將字符串轉(zhuǎn)
10、換為浮點(diǎn)型數(shù)字 如: parseInt (“34.45”)將字符串“34.45”轉(zhuǎn)換為浮點(diǎn)值34.45 isNaN()函數(shù) 判斷一個(gè)變量或一個(gè)字符串是否為NaN。如果是,則返回true,不是則返回false。例如:isNaN( parseInt(“ab”) )將返回true,isNaN(“12”)將返回false。 eval()函數(shù) eval函數(shù)將一個(gè)字符串作為一段JavaScript表達(dá)式執(zhí)行,并返回執(zhí)行的結(jié)果。,內(nèi)置函數(shù),17,簡單計(jì)算器 使用evel函數(shù),內(nèi)置函數(shù)示例, 全局變量和局部變量 function sum() var num1=parseFloat(document.my
11、form.first.value); var num2=parseFloat(document.myform.second.value); if(isNaN(num1)==true) alert(document.myform.first.value+不能轉(zhuǎn)換為一個(gè)數(shù)字!); return; if(isNaN(num2)==true) alert(document.myform.second.value+不能轉(zhuǎn)換為一個(gè)數(shù)字!); return; document.myform.result.value =num1+num2; , eval函數(shù)的用法 function calc() var re = eval(document.form1.express.value); document.form1.result.value = re; 表達(dá)式: ,if條件判斷語句,可以多重嵌套使用 switch用于多分支條件,書寫更直觀,整潔 break語句:跳出正在執(zhí)行的循環(huán)結(jié)構(gòu) continue語句:忽略continue后面的語句,從下一次循環(huán)開始執(zhí)行 函數(shù)調(diào)用和表單元素的事件一起使用,調(diào)用格式為 :事件名“函數(shù)名” function函數(shù)可以不帶參數(shù),也可以帶多個(gè)參數(shù),還可以有返回值(return) 局部變量在函數(shù)內(nèi)部定義,全局變量在函數(shù)外部定義,總結(jié),