1 / 29

第 4 章 逻辑控制语句

第 4 章 逻辑控制语句. if 语句 switch 语句 while 语句 do …while 语句 for 语句 跳转语句( break 语句和 continue 语句) 异常处理语句. if 语句. 条件语句用于测试条件。 if 语句是一个单一的选择语句,相当于口语中的“如果 …… 就 ……” 语句。. 语法:. if( < 逻辑表达式 > ) { JavaScript 代码 ; }. 如果要执行多个语句,必须将这些语句放在一对大括号 ( { } ) 内。但如果只要执行一个语句,则可以省略大括号. <HEAD>

gitel
Télécharger la présentation

第 4 章 逻辑控制语句

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第4章 逻辑控制语句 • if语句 • switch语句 • while语句 • do …while语句 • for语句 • 跳转语句(break语句和continue语句) • 异常处理语句

  2. if语句 条件语句用于测试条件。 if语句是一个单一的选择语句,相当于口语中的“如果……就……”语句。 语法: if(<逻辑表达式>) { JavaScript代码; } 如果要执行多个语句,必须将这些语句放在一对大括号 ({ }) 内。但如果只要执行一个语句,则可以省略大括号

  3. <HEAD> <SCRIPT LANGUAGE = "JavaScript"> function calcu() { var numb1= document.calc.num1.value; var numb2= document.calc.num2.value; if ((numb1!="") && (numb2!="")) { var total= parseFloat(numb1)*parseFloat(numb2); document.calc.result.value=total; if ((total>500) &&(total<=1000)) alert("购买总价超过500\n支付时将赠送超级Q币2枚!"); if ((total>1000) &&(total<=2000)) alert("购买总价超过1000\n支付时将赠送IBM光电智能鼠标1只!"); if ((total>2000)) alert("购买总价超过2000\n请直接与贵宾台联系!"); } } </SCRIPT> </HEAD>….其他代码略,同上例

  4. if…else 语句 • if…else语句是两路选择语句,相当于口语中常用到的“如果……否则……”语句 语法: if(<逻辑表达式1>) { //JavaScript代码; } else { //JavaScript代码; }

  5. <HEAD> <SCRIPT LANGUAGE = "JavaScript"> function calcu() { var numb1= document.calc.num1.value; var numb2= document.calc.num2.value; if ((numb1!="") && (numb2!="")) { var total= parseFloat(numb1)*parseFloat(numb2); document.calc.result.value=total; if ((total>500) &&(total<=1000)) alert("购买总价超过500\n支付时将赠送超级Q币2枚!"); if ((total>1000) &&(total<=2000)) alert("购买总价超过1000\n支付时将赠送IBM光电智能鼠标1只!"); if ((total>2000)) alert("购买总价超过2000\n请直接与贵宾台联系!"); } else alert("购买数量或竞拍价格没有填写\n请重新输入!"); } </SCRIPT> 提示没有填写购买数量或者竞拍价格?

  6. else if语句 • if…else if…else语句可以提供多重选择,相当于口语中的“如果……如果……否则”,语法如下: • if( <逻辑表达式1>)语句1;else if( <逻辑表达式2> )语句2;else if( <逻辑表达式3> )语句3;……else 语句n;在这种情况下,每一级的布尔表述式都会被计算,若为真,则执行其相应的语句,否则执行else后的语句。

  7. 嵌套 if 语句 • if语句允许嵌套,在嵌套时要注意else与if的匹配, 语法: if (<逻辑表达式1>) { if (<逻辑表达式2>) { //JavaScript代码; } }

  8. <SCRIPT LANGUAGE = "JavaScript"> function calcu() { var numb1= document.calc.num1.value; var numb2= document.calc.num2.value; if ((numb1!="") && (numb2!="")) { if (parseFloat(numb1)<0) { alert("竞拍价格不能小于零!\n请重填"); return; //函数返回,不再执行后面的代码 } if (parseFloat(numb2)<0) { alert("购买数量不能小于零!\n请重填"); return; } var total= parseFloat(numb1)*parseFloat(numb2); document.calc.result.value=total; ….. 购买数量无意中输入负数,出现 bug 怎么办?

  9. switch 语句 语法: switch (表达式) { case 常量1 : JavaScript语句; break; case常量2 : JavaScript语句; break; ... default : JavaScript语句; }

  10. ..... var f=document.calc.pay.value; //支付方式代号 var grade; //折扣率 var total= parseFloat(numb1)*parseFloat(numb2); switch(parseInt(f)) { case 1: grade=0.6 ; //打6折优惠 break; case 2: …….同理其他方式打7折、八折 case 4: grade=0.9 ; //打9折优惠 break; default: alert("请重新选择支付方式!"); return; } var money=total*grade; //根据折扣率,计算实际总价 document.calc.result.value=money; alert("您享受了"+grade*10+"折优惠!"); ….. switch语句 下拉列表框pay的选项和值 银行转帐- 打6折 电话支付- 打7折 邮政汇款- 打8折 Q币支付- 打9折

  11. 循环语句 • 选择语句允许让JavaScript选择执行语句块,而循环语句可以让JavaScript重复执行某个语句块。JavaScript中的循环语句包括while语句、do…while语句、for语句和for…in语句四种。

  12. 循环语句---while语句 • while语句是在JavaScript中使用得最多的一种循环语句,其语法代码如下所示: while (<逻辑表达式>)  { <语句块>    }

  13. 循环语句---do…while语句 • do…while语句与while语句十分类似,也是一个循环语句,不同的是while语句是先判断逻辑表达式的值是否为true之后再决定是否执行循环体中的语句,而do…while语句是先执行循环体中的语句之后,再判断逻辑表达式是否为true,如果为true则重复执行循环体中的语句。语法如下: do <语句块> while(<逻辑表达式>)

  14. 循环语句---for语句 • for语句也是一种常用的循环语句,这种循环语句使用起来比while语句更为方便,因为for语句提供的是一种常用的循环模式,即初始化变量、判断逻辑表达式和改变变量值,这三个关键操作都可以在for语句中被明确定义。语法如下: for(初始化表达式;条件检测表达式;更新条件变量) { <语句块> }

  15. 循环语句--- for…in语句 • for…in语句提供的是一种与前面提到的循环语句都不同的另一种循环语句,这种循环语句可以遍历对象中的所有属性或数组中的所有元素。也常用来为对象的所有属性赋值。语法如下: for(variable in object) { statement } • variable可以是一个变量名、数组元素或对象属性,object是一个对象名、或计算结果为对象的表达式。

  16. 循环语句--- for…in语句 • For…in循环将对object对象的每一个属性都执行一次循环。循环过程中,先将object对象的一个属性名作为字符串赋给变量variable,这样在循环体内可以使用variable访问该对象属性。如: for(myprop in document) { document.write(“属性名:”+myprop+”;属性值:”+document[myprop]); } 注:不能设置循环变量和循环条件,无法控制循   环的执行顺序和次数。

  17. 标签语句 • 在JavaScript中,任何语句之前加上标识符和冒号就构成标签语句,标签语句的作用仅仅是标记该语句。在switch语句中的case语句和default语句,这些都是特殊的标签语句。语法格式如下: label: statement

  18. 跳转语句 • 在循环语句的循环体中,JavaScript允许在满足一定条件的情况下,直接跳出循环语句。或在满足一定条件的情况下开始一个新的循环,这种操作就需要用到跳转语句。JavaScript中的跳转语句包括break语句与continue语句两种。

  19. 跳转语句---break语句 • break语句的作用是跳出循环或结束switch语句,其语法代码如下所示: 1) break; 2) break labelName; 2)作用是跳到这个标签标记的语句尾部或终止这个语句。该语句必须是一个封闭语句,用大括号封装的语句块。

  20. 跳转语句---continue语句 • continue语句与break语句类似,也可以跳出一次循环。但与break语句不同的是,continue语句只会跳出一次循环,进入下一次循环,并且只能用于循环体内,而break语句跳出循环之后结束了整个循环。语法如下: 1) continue; 2) continue labelName; 2)用于重新开始那些不是直接封闭的循环。

  21. 跳转语句---continue语句 continue用于: 1)while循环 将会跳到循环体头部,再次检测循环的条件表达式。为真,则再次执行循环体内代码。 2)do…while循环将会跳到循环体底部,检测循环的条件表达式。为真,则再次执行循环体内代码。 3)for循环 将会首先计算增量表达式后再次检测循环的条件表达式。为真,则再次执行循环体内代码。 4)for…in循环 循环变量首先获得下一个属性名,然后开始新的循环。

  22. 异常处理语句 • 在JavaScript中,可以对产生的异常进行处理。所谓异常是指在程序中产生了某些异常情况或错误。处理这些异常情况或错误所使用的语句,就是异常处理语句。在JavaScript中的异常处理语句包括throw语句与try…catch…finally语句两种。throw(抛出)语句的作用是抛出一个异常。所谓的抛出异常,就是用信号通知发生了异常情况或错误。try…catch…finally语句是JavaScript中的用于处理异常的语句,该语句与throw语句不同。throw语句只是抛出一个异常,但对该异常并不进行处理,而try…catch…finally语句可以处理所抛出的异常。

  23. 异常处理语句 • 语法格式如下: try { statement(包含了throw语句的语句块) } catch(exception) //表示异常的变量 { statement //处理异常的语句块 }

  24. 异常处理语句 • 每个被抛出的异常都会产生一个Error对象的实例,该对象的引用可以作为catch子句的参数,如上面代码的exception参数,catch子句中的语句可以查看该对象的属性以获得更多信息。到目前为止,在ECMAScript标准中只有两个属性得到正式认可,即message和name。一些浏览器则实现了更多的属性:

  25. 异常处理语句

  26. 异常处理语句 • <script language="JavaScript"> • try • { • colors[2] = "red"; • } • catch(e) • { • alert("An exception occured in the script.Error name: " + e.name • + ".Error message: " + e.message); • } • </script>

  27. return语句 • return语句只能出现在function语句的函数体中,用于指定函数的返回值。return语句的语法代码如下所示: return 表达式; 注:一旦执行到return语句,函数的执行就停止了,函数体内return语句后面的代码将被忽略。(见例4-11)

  28. with语句 • JavaScript语言是面向对象的语言,因此,在对象的属性调用方面有可能会多次使用到对象属性存取运算符(.)。如果使用with语句,就可以简化对象属性调用的层次。语法格式为: with(object) { statement } 例如:with(document.forms[0]) { name.value=“”; password=“”; }

  29. 小结 • 本章中主要介绍了JavaScript中的语句,JavaScript的所有功能都是通过语句来实现的。JavaScript中的语句可以简单地分为表达式语句、语句块、选择语句、循环语句、跳转语句、异常处理语句和其他语句几种。熟练掌握这些语句,是学习JavaScript必不可少的基础。

More Related