目录
6-1、break,continue的JavaScript 标签
一、分支结构
1、if语句
通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。
在 JavaScript 中,我们可使用以下条件语句:
- if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
- if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
- if...else if....else 语句 - 使用该语句来选择多个代码块之一来执行
- switch 语句 - 使用该语句来选择多个代码块之一来执行
1-1、多分支
// 1.双分支 if (表达式1) { 代码块1; } else { 代码块2; } if (time<20) { x="Good day"; } else { x="Good evening"; } // 2.多分支 if (表达式1) { } else if (表达式2) { } ... else if (表达式2) { } else { } if (time<10) { x="Good morning"; } else if (time<20) { x="Good day"; } else { x="Good evening"; }
1-2、嵌套
if (表达式1) { if (表达式2) { }... }...
2、switch语句
switch (表达式) { case 值1: 代码块1; break; case 值2: 代码块2; break; default: 代码块3; } // 1.表达式可以为 整数表达式 或 字符串表达式 // 2.值可以为 整数 或 字符串 // 3.break可以省略 // 4.default为默认代码块,需要出现在所有case最下方,在所有case均未被匹配时执行 var day=new Date().getDay(); switch (day) { case 6: x="Today it's Saturday"; break; case 0: x="Today it's Sunday"; break; default: x="Looking forward to the Weekend"; }
二、循环结构
JavaScript 支持不同类型的循环:
- for - 循环代码块一定的次数
- for/in - 循环遍历对象的属性
- while - 当指定的条件为 true 时循环指定的代码块
- do/while - 同样当指定的条件为 true 时循环指定的代码块
1、for循环
for (循环变量①; 条件表达式②; 循环变量增量③) { 代码块④; } // 1.循环变量可以在外、在内声明 // 2.执行逻辑 ① ②④③ ... ②④③ ②,入口为①,出口为②,②④③个数为[0, n] for (var i=0; i<5; i++) { x=x + "The number is " + i + "<br>"; } //for 语句内 可以省略变量和增量 var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; }
2、while循环
while (条件表达式) { 代码块; } while (i<5) { x=x + "The number is " + i + "<br>"; i++; }
3、do...while循环
//该循环至少会执行一次,即使条件是 false,隐藏代码块会在条件被测试前执行: do { 代码块; } while (条件表达式); do { x=x + "The number is " + i + "<br>"; i++; } while (i<5);
4、for...in循环
obj = {"name": "zero", "age": 8} for (k in obj) { console.log(k, obj[k]) } // 用于遍历对象:遍历的结果为key,通过[]语法访问对应的value var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=txt + person[x]; }
5、for...of循环
iter = ['a', 'b', 'c']; for (i of iter) { console.log(iter[i]) } // 1.用于遍历可迭代对象:遍历结果为index,通过[]语法访问对应的value // 2.ES6新增,可迭代对象有 字符串、数组、Map、Set、Anguments、NodeList等
6、break,continue关键词
break:结束本层循环
continue:结束本次循环进入下一次循环
for (i=0;i<10;i++) { if (i==3) break; x=x + "The number is " + i + "<br>"; } for (i=0;i<=10;i++) { if (i==3) continue; x=x + "The number is " + i + "<br>"; }
6-1、break,continue的JavaScript 标签
正如您在 switch 语句那一章中看到的,可以对 JavaScript 语句进行标记。
如需标记 JavaScript 语句,请在语句之前加上冒号:
label: 语句
break 和 continue 语句仅仅是能够跳出代码块的语句。
语法
break labelname; continue labelname;
- continue 语句(带有或不带标签引用)只能用在循环中。
- break 语句(不带标签引用),只能用在循环或 switch 中。
- 通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:
实例
cars=["BMW","Volvo","Saab","Ford"]; list: { document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); break list; document.write(cars[3] + "<br>"); document.write(cars[4] + "<br>"); document.write(cars[5] + "<br>"); }
三、异常处理
- try 语句测试代码块的错误。
- catch 语句处理错误。
- throw 语句创建自定义错误。创建或抛出异常(exception)。
try { 易错代码块; } catch (err) { 异常处理代码块; } finally { 必须逻辑代码块; } // 1.err为存储错误信息的变量 // 2.finally分支在异常出现与否都会被执行 throw "自定义异常" // 必要的时候抛出自定义异常,要结合对应的try...catch使用 <script> function myFunction() { try { var x=document.getElementById("demo").value; if(x=="") throw "empty"; if(isNaN(x)) throw "not a number"; if(x>10) throw "too high"; if(x<5) throw "too low"; } catch(err) { var y=document.getElementById("mess"); y.innerHTML="Error: " + err + "."; } } </script> <h1>My First JavaScript</h1> <p>Please input a number between 5 and 10:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">Test Input</button> <p id="mess"></p>
版权声明:本文为qq_33961117原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。