二、JavaScript语言基础
03.JavaScript控制语句
3.1 if-else语句
if语句是基于条件成立才执行相应代码时使用的语句,即单分支结构。
if(条件) { 条件成立时执行代码}
if-else
语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码,二选一模式,即双分支结构。
if(条件) { 条件成立时执行的代码} else {条件不成立时执行的代码}
条件判断时,JS将null
、undefined
、Nan
、0和空字符串都为false
,其余都为true
。
多分支结构可以用if-else
嵌套实现,也可以用switch
语句实现。当有很多种选项的时候,switch
比if else
使用更方便。结构如下:
switch(表达式) {
case值1:
执行代码块 1
break;
case值2:
执行代码块 2
break;
case值n:
执行代码块 n
break;
default:
与 case值1 、 case值2...case值n 不同时执行的代码 }
语法说明:
Switch必须赋初始值,值与每个case值匹配。满足执行该 case 后的所有语句,并用break语句来阻止运行下一个case。如所有case值都不匹配,执行default后的语句。
**注意:**记得在case所执行的语句后添加上一个break语句。否则就直接继续执行下面的case中的语句。
3.2 循环语句
(1)循环结构的三个要素
- 循环初始化,设置循环变量初值;
- 循环控制,设置继续循环进行的条件;
- 循环体,重复执行的语句块。
(2)当循环结构:
当循环结构,while语句格式如下:
while(条件表达式){
语句块
}
(3)直到循环结构:
直到循环结构,do…while语句格式如下:
do{
语句块
} while(条件表达式);
(4)计数循环结构:
计数循环结构, for语句格式如下:
for(var i=0;i<length;i++){
语句块
}
(5)枚举循环结构:
枚举循环结构,for…in语句格式如下:
for(var i=0 in array){
语句块
}
或者
for(i in array){
语句块
}
for(var item in arr|obj){}
可以用于遍历数组和对象
遍历数组时,item表示索引值, arr表示当前索引值对应的元素 arr[item]
遍历对象时,item表示key值,arr表示key值对应的value值 obj[item]
当然和其他语言一样,在while、for、do…while、while循环中使用break
语句退出当前循环,直接执行后面的代码。而continue
的作用是仅仅跳过本次循环,而整个循环体继续执行。
3.3 异常处理语句
程序运行过程中难免会出错,出错后的运行结果往往是不正确的,因此运行时,出错的程序通常被强制中止。运行时的错误统称为异常,为了能在错误发生时得到一个处理的机会,JavaScript提供了异常处理语句:try-catch
。try
与catch
是成对出现的。编码时通常将可能发生错误的语句写入try
块的花括号中,并在其后的catch
块中处理错误。错误信息包含在一个错误对象里,通过exception
的引用可以访问该对象。根据错误对象中的错误信息以确定如果处理。其结构如下:
try{
tryStatements //必选项。可能发生错误的语句序列。
}
catch(exception){ //必选项。任何变量名,用于引用错误发生时的错误对象。
catchStatements //可选项。错误处理语句,用于处理tryStatements中发生的错误。
}
3.4 prompt()方法
有时候,不是仅希望用户回答 Yes/No
,而是希望得到更特定的响应。在这种情况下,可问一个问题(带默认回答),然后接收回复。prompt()
方法用于显示可提示用户进行输入的对话框。方法返回用户输入的字符串,如果如果输入为空,则返回null
。
语法格式:
prompt(msg,defaultText)
//参数msg可选。要在对话框中显示的纯文本(而不是HTML格式的文本)。用于提示。
//参数defaultText可选。默认的输入文本。
可以使用对话框询问用户账号并处理回复。示例:
<script>
var ans = prompt("请输入您的账号?","666");
if (ans) {
alert("您的账号是: " + ans);
}
else {
alert("您拒绝了回答!");
}
</script>
后续持续更新……
原创不易,如果觉得不错,就点个赞吧!