摘要:语句语句概述在中语句使用分号进行分隔可以在每行编写一条语句也可以在每行编写多条语句语句块中使用一堆花括号表示一个语句块使用语句块为语句进行分组这样使语句的结构清晰明了空语句空语句允许包含条语句解释器执行空语句时不会执行任何动作流程控制语句解
语句 语句概述
在JavaScript中 语句使用分号(;)进行分隔 可以在每行编写一条语句 也可以在每行编写多条语句
语句块
JavaScript中使用一堆花括号({})表示一个语句块 使用语句块为语句进行分组 这样使语句的结构清晰明了
空语句
空语句允许包含0条语句 JavaScript解释器执行空语句时 不会执行任何动作
流程控制语句
JavaScript解释器按照语句的编写顺序依次执行 但也可以编写一些复杂的语句块 分为 顺序执行 选择执行 循环执行
条件语句是什么
条件语句就是指通过判断指定的计算结果 来绝对是执行还是跳过指定的语句块
如果说JavaScript解释器是按照代码的"路径"执行的话 那条件语句就是这条路上的分叉点 代码执行到这里时必须选择其中一条路径继续执行
JavaScript提供了两种条件语句:if...else语句和switch...case语句
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); }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/96736.html
摘要:逻辑非操作符只能作用于单个逻辑操作数,其结果是把那个逻辑操作数所返回的布尔值取反。如果那个逻辑操作数所返回的布尔值是,逻辑非操作符将把它取反为为了避免产生歧义,上面这条语句把逻辑操作数放在了括号里,使逻辑非操作符作用于括号里的所有内容。 算术操作符 加减乘除这些算术操作中的每一种都必须借助于相应的操作符才能完成。操作符是JavaScript为完成各种操作而定义的一些符号。等号(=)、加...
摘要:逻辑非操作符只能作用于单个逻辑操作数,其结果是把那个逻辑操作数所返回的布尔值取反。如果那个逻辑操作数所返回的布尔值是,逻辑非操作符将把它取反为为了避免产生歧义,上面这条语句把逻辑操作数放在了括号里,使逻辑非操作符作用于括号里的所有内容。 算术操作符 加减乘除这些算术操作中的每一种都必须借助于相应的操作符才能完成。操作符是JavaScript为完成各种操作而定义的一些符号。等号(=)、加...
摘要:逻辑非操作符只能作用于单个逻辑操作数,其结果是把那个逻辑操作数所返回的布尔值取反。如果那个逻辑操作数所返回的布尔值是,逻辑非操作符将把它取反为为了避免产生歧义,上面这条语句把逻辑操作数放在了括号里,使逻辑非操作符作用于括号里的所有内容。 算术操作符 加减乘除这些算术操作中的每一种都必须借助于相应的操作符才能完成。操作符是JavaScript为完成各种操作而定义的一些符号。等号(=)、加...
摘要:前言基本上,我们每天都在和中的各种语句进行着沟通,那些我们经常见面的老朋友,或者是未曾见面的新朋友,它们共同维护着的流程,让我们的程序稳步运行。 前言 基本上,我们每天都在和 JavaScript 中的各种语句进行着 沟通 ,那些我们经常见面的 老朋友,或者是未曾见面的 新朋友 ,它们共同维护着 JavaScript 的流程,让我们的程序稳步运行。那么,你是否对它们足够了解呢 如果文章...
摘要:语法利弊使用得当可规避重复而冗长的对象引用以减小代码量。使用语句,在某些语义不明的情况下会降低代码可读性。在标准中,是对象原型的新属性。使用利用了语句延长作用域链的特性,最基本的使用方法。目前多使用临时变量方案替代语句以简化代码。 语法 with (expression) statement 利弊 使用得当可规避重复而冗长的对象引用以减小代码量。 var a, x, y; var ...
阅读 3080·2021-11-10 11:36
阅读 3245·2021-10-13 09:40
阅读 5893·2021-09-26 09:46
阅读 647·2019-08-30 15:55
阅读 1395·2019-08-30 15:53
阅读 1558·2019-08-29 13:55
阅读 2976·2019-08-29 12:46
阅读 3182·2019-08-29 12:34