JavaScript中的各种语句...
语句
语句概述
在JavaScript中 语句使用分号(;)进行分隔 可以在每行编写一条语句 也可以在每行编写多条语句
- 语句块
JavaScript中使用一堆花括号({})表示一个语句块 使用语句块为语句进行分组 这样使语句的结构清晰明了
- 空语句
空语句允许包含0条语句 JavaScript解释器执行空语句时 不会执行任何动作
- 流程控制语句
JavaScript解释器按照语句的编写顺序依次执行 但也可以编写一些复杂的语句块 分为 顺序执行 选择执行 循环执行
条件语句
- 条件语句是什么
条件语句就是指通过判断指定的计算结果 来绝对是执行还是跳过指定的语句块
如果说JavaScript解释器是按照代码的"路径"执行的话 那条件语句就是这条路上的分叉点 代码执行到这里时必须选择其中一条路径继续执行
JavaScript提供了两种条件语句:if...else语句和switch...case语句
if语句
1.if语句是条件判断语句 也是最基本的流程控制语句
2.if关键字后面的小括号不能被省略
3.if关键字后面的条件判断的结果必须是布尔值 如果结果为非布尔值的话 JavaScript会自动转换为布尔值
4.if语句中的大括号({})可以省略 但是建议编写 提高代码阅读性
if (条件表达式){ 语句块 当条件表达计算结果为true时才执行 }
条件表达式:
*作用 控制是否执行指定的语句块
*结果 一般为Boolean类型的值(true|false)
*问题 如果条件表达式计算的结果不是Boolean类型
*将结果强行转换为Boolean类型 再进行判断
var result = true;// boolean类型值 var v;/* 定义变量,但不初始化 */ /*if (v = '卧龙学苑') {/!* 将变量的初始化操作,放置在条件表达式中 *!/ console.log('这是if语句执行的语句块...'); }*/ // 等价于以下写法 v = '卧龙学苑';/* 变量的初始化操作 */ if (v) { console.log('这是if语句执行的语句块...'); } console.log('这是if语句执行完毕后的内容...');
if...else语句
if...else语句语句是条件判断语句 但是与if语句的执行流程并不同
if...else语句的执行流程:
1.判断条件的结果是true还是false
2.当结果为true时 执行下面的语句块1
3.当结果为false时 执行下面的语句块2
4.继续执行语句块3
var result = false; /* if...else语句 if (条件表达式) { 语句块一 } else { 语句块二 } */ if (result) { console.log('这是语句块一...'); } else { console.log('这是语句块二...'); } console.log('这是if语句执行完毕后的内容...');
- if语句的注意事项
if语句与if...else语句
1.对应的语句块的大括号"{}" 允许被省略的
2.前提:当前语句块中只存在一条语句时
3.省略大括号"{}"时 JavaScript默认认为后面的第一条语句是被控制的语句块内容
4.结论:建议按照语法规则编写
- if...else语句嵌套
if...else语句支持嵌套写法 也就是说 可以在if或else后面的语句块中据需偏斜if...else语句
var score = 65; if (score > 90) { console.log('优秀'); } else { if (score > 80) { console.log('良好'); } else { console.log('及格'); } }
else...if语句
1.else...if语句是在if语句的基础上 允许提供多个条件判断
2.else...if语句实际上就是简化版的if...else语句的嵌套写法
var score = 65; if (score > 90) { console.log('优秀'); } else { if (score > 80) { console.log('良好'); } else { console.log('及格'); } } /* if (条件表达式一) { 语句块一 } else if (条件表达式二) { 语句块二 } else { 语句块三 } * else if语句没有任何限制 */ if (score > 90) { console.log('优秀'); } else if (score > 80) { console.log('良好'); } else { console.log('及格'); }
switch...case语句
1.switch...case语句是开关语句 但整体执行流程要比if...else语句复杂的多
2.实际开发中 switch...case语句与break语句同时使用
枚举 将计算结果可能的值尽量的罗列完整
switch (条件表达式) { case 值一: 语句块一 case 值二: 语句块二 ... ... default: 语句块N }
*条件表达式 不一定是Boolean类型 计算结果分别与case语句的值进行比较
*条件表达式计算结果与case语句的值是全等比较(既要比较值 也要比较类型)
*case语句 罗列可能的匹配值
*对应的语句块最后添加 break 关键字 当执行对应的语句块之后 停止继续执行
*default语句 类似于if...else语句中的else语句
*当以上所有case语句的值都不匹配时 默认执行default语句对应的语句块
*注意:不是default语句不需要使用break关键字 而是default默认一般被编写在最后
var result = '0'; switch (result) { case 0: console.log('这是数字0'); break; case 1: console.log('这是数字1'); break; default: console.log('以上结果无一满足'); }
循环语句
循环语句是一系列反复执行到符合特定条件的语句 为了更好的理解循环语句 可以将JavaScript代码想象成一条条的分支路径 循环语句就是代码路径中的一个回路 可以让一段代码重复执行
循环语句的执行流程如下:
1.执行语句块
2.判断条件的计算值是true还是false
3.如果是true 则重复执行语句块
4.如果是false 则继续执行后面的代码
- while语句
while语句是一个基本循环语句 语法结构与if语句很类似
while语句的执行流程如下:
1.执行while语句的条件判断是true还是false
2.如果是true 执行语句块 然后重新计算while语句的条件判断是true还是false
3.如果为false 则跳过语句块 继续执行下面的代码
4.while关键字后面的小括号不能被省略
5.while关键字后面的条件判断的结果必须是布尔值 如果结果为非布尔值的话 JavaScript会自动转换为布尔值
6.while语句中的大括号({})可以省略 但是建议编写 提高代码阅读性
while (条件表达式) { 语句块 }
*必须通过一个变量值的改变 控制条件表达式的计算结果
*在循环的过程中 至少有一次计算结果为false - 结束循环
*如果没有这样的一个变量的话 - 循环叫做死循环
var result = 1; while (result <= 10) { console.log('这是while循环语句执行...'); result++;// 改变变量的值,至少有一次让条件表达式计算的结果为false } console.log('这是while循环语句执行完毕后...');
- do...while语句
do...while语句也是一个基本循环语句 执行流程与while语句很类似
do...while语句的执行流程如下:
1.执行语句块
2.执行while语句的条件判断是true还是false
3.如果是true 执行语句块 然后重新计算while语句的条件判断是true还是false
4.如果为false 继续执行下面的代码
var result = 0; /* do { 语句块 } while (条件表达式); */ do { console.log(result); result++; } while (result <= 10);
- while与do...while语句的区别
var result = 0; // while语句 - 先判断,再执行 while (result > 0) { console.log('while语句'); } // do...while语句 - 先执行,再判断 do { console.log('do...while语句'); } while (result > 0);
- for语句
for语句是一种最简洁的循环语句 其中有三个重要部分:
1.初始化表达式:初始化一个计数器 在循环开始前计算初始状态(用于初始化控制循环的变量)
2.条件判断表达式:判断给定的状态是否为true 如果条件为true 则执行语句块 否则跳出循环(用于判断是否要结束循环)
3.循环操作表达式:改变循环条件 修改计数器的值(用于控制结束循环的节点)
注意:for语句的语法要求并不强制必须定义以上三个表达式
一旦省略三个表达式的话 表达式的分隔符必须存在
var v = 0; while (v < 10) { console.log(v); v++; } console.log(v); var v = 0; for (; v < 10; ) { console.log(v); v++ }
跳转语句
- 跳转语句概述
JavaScript中的另一种语句就是跳转语句 从名称就可以看出 它使得JavaScript代码的执行可以从一个位置到另一个位置
跳转语句只能用于循环执行结构 而不能用于条件判断结构
注意:switch...case语句中使用的break,并不是break的用法,而是switch语句的用法
跳转语句提供了break和continue两种 用于跳转当前的循环或开始下一次的循环等
- break和continue语句
循环语句中的跳转语句
break语句: 表示结束整体循环
continue语句: 表示结束本次循环
- break语句
var result = 0; switch (result) { case 0: console.log(0); break; case 1: console.log(1); break; default: console.log(2); } if (true) { console.log('if语句...'); break; }
- continue语句
for (var i=0; i<9; i++) { if (i == 4) { continue; } console.log(i); }