js学习笔记2:循环和try/catch/throw
今天学习了js的比较、if/else、switch/case和各种循环,这些东西每种语言都大同小异,没什么好看的,重点说一下js的循环。
JavaScript 支持不同类型的循环:
- for - 循环代码块一定的次数
- for/in - 循环遍历对象的属性
- while - 当指定的条件为 true 时循环指定的代码块
- do/while - 同样当指定的条件为 true 时循环指定的代码
1、For 循环
for (初始条件; 执行条件; 执行后变量变化) { 被执行的代码块 }
初始条件可以一次给多个变量赋值,也可以省略。
2、For/In 循环
JavaScript for/in 语句循环遍历对象的属性:
<script> function myFunction() { var x; var text=""; var person={ CEO:"Bill Gates", CCO:"Pony Ma", CHI:"Boqian Liu" }; for( x in person){ text+=person[x]; text+="</br>"; } document.getElementById("demo").innerHTML=text; }
3、while 循环
while (条件) { 需要执行的代码 }
4、do/while 循环
do { 需要执行的代码 } while (条件);
5、break和continue
break 语句用于跳出循环,continue 用于跳过循环中的一个迭代。
这个没啥好说的,C语言里面很常见的东西。
6、JavaScript标签
js的标签可以配合bresk来使用,达到类似循环的效果。
(感觉有种多此一举的感觉,以后可能会应用到)
list:{ document.write("I'm the 1st</br>"); document.write("I'm the 2nd</br>"); break list; document.write("I'm the 3rd</br>"); document.write("I'm the 4th</br>"); }
只有前两行语句会被执行。
7、try/catch/throw
这种的try/catch和错误信息定义,emmm,和定义个全局变量来存储错误信息好像没啥区别。
不像java是在函数名字后面抛出异常,还要特意定义异常类,模块化倒是满足了,就是会比较繁琐,js这一点倒是很简洁。
<script> function myFunction() { try { var x = document.getElementById("demo").value; if (x == "") throw "小傻瓜,你的输入为空"; if (isNaN(x)) throw "小傻瓜,你输入的不是数字" if (x > 100) throw "小傻瓜,你的数字比100还要大" if (x < 0) throw "小傻瓜,你的数字不是正数呀" } catch (error) { alert(error) } } </script>