JavaScript基础4——关于语句流程控制(分支语句、循环语句等)

时间:2022-10-02 15:16:33
  • 分支语句

(1)if...else...语句,基本格式分三种,如下

 <script type="text/javascript">
var i=50;
//if语句
if (条件)
{
条件成立时执行代码
} //if...else语句
if (条件)
{
条件成立时执行此代码
}
else
{
条件不成立时执行此代码
} //if...else if...else if...else...语句
if (条件1)
{
条件1成立时执行代码
}
else if (条件2)
{
条件2成立时执行代码
}
else
{
条件1和条件2均不成立时执行代码
}
</script>

(2)switch语句

 <script type="text/javascript">
var i=2;
switch(i)
{
case 1:
document.write("i等于1")
break
case 2:
document.write("i等于2")
break
case 3:
document.write("i等于3")
break
default:
document.write("错误")
}
</script>
  • 循环语句

(1)for循环(包括for语句和for...in语句)

 /*
格式1:
for (变量=开始值;变量<=结束值;变量=变量+步进值)
{
需执行的代码
}
*/ <script type="text/javascript">
for (sProp in window)
{ document.write(sProp+"<br />");//显示 window 对象的所有属性 }
</script> /*
格式2:
for (property in expression)
{
需执行的代码
}
*/ <script type="text/javascript">
var array=new Array(1,2,3,4,5,6,7,8,9,0,-3);
// var array=[1,2,3,4,5,6,7,8,9,0,-3]; //这样也行
for (i in array)
{
document.write(array[i]+"<br>");//显示数组内容
}
</script>

奉上截图:

JavaScript基础4——关于语句流程控制(分支语句、循环语句等)

(2)while循环

 /*
格式1:
while (expression)
{
需执行的代码
}
*/
<script type="text/javascript">
var i=10
while (i>0)
{
document.write(i+"<br />");
i--;
}
</script> /*
格式2:
do
{
需执行的代码
} while (条件);
*/ <script type="text/javascript">
var i=10
do
{
document.write(i+"<br />");
i--;
}while (i>0) </script>

(3)使用break和continue退出循环

break 命令可以终止循环的运行,然后继续执行循环之后的代码(如果循环之后有代码的话)。continue 命令会终止当前的循环,然后从下一个值继续运行。

 //break语句
<script type="text/javascript">
var iNum = 0;
for (var i=1; i<10; i++) {
if (i % 5 == 0) {
break;
}
iNum++;
}
alert(iNum); //输出 "4"
</script> //continue语句
<script type="text/javascript">
var iNum = 0;
for (var i=1; i<10; i++) {
if (i % 5 == 0) {
continue;
}
iNum++;
}
alert(iNum); //输出 "8"
</script>

(4)*with 语句用于设置代码在特定对象中的作用域。提示:with 语句是运行缓慢的代码块,尤其是在已设置了属性值时。大多数情况下,如果可能,最好避免使用它。

 //with语句
<script type="text/javascript">
1 var sMessage = "hello";
2 with(sMessage) {
3 alert(toUpperCase()); //输出 "HELLO"
4 }
</script>
  • 异常处理

(1)try...catch...异常处理

 /*
try
{
//在此运行代码
}
catch(err)
{
//在此处理错误
}
*/ //try...catch...例子
<script type="text/javascript">
var txt=""
try
{
adddlert("Welcome guest!");//alert拼写错误
}
catch(err)
{
txt+="错误描述: " + err.description + "\n\n";
alert(txt);
}
</script>

(2)Throw声明

throw(exception); exception可以是字符串、整数、逻辑值或者对象。

 <script type="text/javascript">
var x=prompt("输入一个0到10的数值:","100");
try
{
if(x>10)
throw "Err1";
else if(x<0)
throw "Err2";
}
catch(er)
{
if(er=="Err1")
alert("值大了!");
if(er == "Err2")
alert("值小了!") ;
}
document.write("您输入的是:"+x);
</script>

(3)onerror事件

可以使用 onerror 事件捕获网页中的错误。(chrome、opera、safari 浏览器不支持,不建议使用)

 //onerror 语法
/*
onerror=handleErrfunction handleErr(msg,url,l)
{
//Handle the error here
return true or false
}
浏览器是否显示标准的错误消息,取决于onerror的返回值。如果返回值为 false,则在控制台(JavaScript console)中显示错误消息。反之则不会
*/ // 例子
<head>
<script type="text/javascript">
onerror=handleErr;
var txt="";
function handleErr(msg,url,l)
{
txt+="错误信息: " + msg + "\n";
txt+="错误文件: " + url + "\n";
txt+="错误行数: " + l + "\n\n";
alert(txt);
return true;
}
function err()
{
adddlert("Welcome guest!");//alert拼写错误
}
</script>
</head> <body>
<input type="button" value="View message" onclick="err()" />
</body>
  • 控制结构思维导图

JavaScript基础4——关于语句流程控制(分支语句、循环语句等)