JavaScript基础之流控制语句
来源:互联网 发布:网络之神级炼妖师 编辑:程序博客网 时间:2024/05/18 00:06
JavaScript中有一种语句叫做流控制语句,它能控制语句的开始、结束,控制程序的运行。
if语句
if语句是常用的一种控制语句,它的格式是:
if (表达式) {语句1} else {语句2}
其中,表达式的值不一定是布尔值,JavaScript的Boolean()会将表达式转换成布尔值,若转换成的布尔值结果为true,则执行语句1,相反,若布尔值为false,则执行语句2.
var a = 2;if (a > 0) { alert("a的值大于0"); /* 弹出"a的值大于0" */} else { alert("a的值小于0");}
如上,建议用代码块将要执行的语句包括起来,即使语句只有一行。这样做是为了消除人们的误解,否则可能让人分不清在不同条件下要执行哪些语句。
while语句
while是一种前测试循环语句,格式为:
while (表达式) {循环体}
在执行循环语句前,有个出口语句表达式,若表达式的值为true,则会循环执行语句,至到表达式的值为false为止,也就是说,只有当表达式的值为true时,才会执行语句,不管是一次也好,还是多次执行也罢。
var a = 0;while (a < 3) {a++}
当a的值小于3时,就会执行中括号里的语句a++,直到a的值大于等于3时,会中跳出循环,即,当a的值为3时,跳出循环。
do-while
do-while是一种后测试循环语句。
格式:
do {循环体} while (表达式)
do-while循环语句与while循环语句相似,只是有一个最大不同点在于:do-while循环语句中,不管表达式的值是不是true,循环语句都会执行一次,常用于至少要执行一次的循环语句中。
var i = 0;do {i++} while (i <3) //i的最终值为3
不管while中的表达式成不成立,都会执行一次i++,所以最终结果i的值至少为1。
for语句
for循环是常用的一种,格式为:
for (var i = 0; i < count; i++ ) {循环体}
以上定义了变量i并初始化为0,只有当表达式i < count为true时,才会进入for循环,因此不一定会执行语句,如果执行语句后,一定会对表达式i++求值,求值后,再与count作比较,若此时i < count依然成立,则再次进入for循环,依此类推,若不成立,跳出for循环。
for (var i = 0, i < 3; i++) {console.log(i)}
输出结果:0 1 2 3
for语句有三种书写形式:
第一种:
for (var i = 0; i < count; i++) {循环体}
第二种:
var i;for (i = 0; i < count; i++) {循环体}
第三种:
var i = 0;for (; i < count;) {循环体; i++}
for in语句
for in语句是一种精准的迭代语句,用于枚举对象的属性。格式:
for (var i in object) {循环体}
定义一个变量i,用于遍历object对象的属性,直到遍历完对象的所有属性为止,遍历出的属性名的顺序是不可测的
若对象的值是null或undefined,则不执行循环体。
switch语句
switch语句又称开关语句,格式:
switch (a) { case value: startment1 break; case value: startment2 break; case value: startment3 break; default: startment4 }
其中a可以是各种数据类型,case后的value可以是常量、变量、也可以是表达式,如果a等于这个值value,则会执行后面的表达式startment,执行后,遇到break会跳出siwtch语句,如果省略break,不管后面的value是不是等于a的值,都会被执行,当所有的value都不等于a的值时,会执行default后面的语句。
在switch中可以合并两个同种情况:
switch (a) { case value: case value: alert("startmen1 or startment2") break; case value: startment3 break; default: startment4 }
如上,可以将两种情况合并一起。
break语句与continue语句
在循环语句中,遇到break语句则会跳出循环语句,去强制执行循环语句后面的其它语句。
在循环语句中,遇到continue语句则会跳出本次循环,从循环的顶部继续执行。
- JavaScript基础之流控制语句
- JavaScript基础语法---流程控制语句
- JavaScript语言基础---(三)流程控制语句
- 【JavaScript 基础】03 流程控制语句
- 【JavaScript】JavaScript基础-变量、运算符与控制语句
- C#学习之流控制
- C#学习之流控制
- [JavaScript]-----流程控制语句
- JavaScript:流程控制语句
- JavaScript 流程控制语句
- JavaScript流程控制语句
- Java基础之流
- Java基础总结之流
- Java基础--控制语句
- [Java 基础]控制语句
- TCP协议之流量控制
- JavaScript基础语句
- JavaScript基础语句
- HDU
- CNN调参与参考资料
- 给年份year,定义一个宏,以判别该年份是否闰年。提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y)
- C++简单练习题1——求π
- 算法16:实现itoa和atoi
- JavaScript基础之流控制语句
- 剪气球串
- mysql查重笔记
- 一个矩形能否放到另一个矩形内(公式)
- 2016蓝桥杯第九题
- 关于此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。error
- bzoj1509[NOI2003] 逃学的小孩
- springmvc 拦截器 与 servlet filter比较
- 时间复杂度——我理解的那种