JavaScript定义了一组语句,语句通常用于执行一定的任务。语句可以很简单,也可以很复杂。

选择结构,可以在程序中创建交叉结构来指定程序流的可能方向。JavaScript中有四种选择结构:

1.单选结构(if)

var x=5;
if(x>0){
console.log(x);//输出5
}

单选结构由单独的if语句组成,只能控制程序的一个流向。

2.双选结构(if/else)

var x=5;
if(x===undefined){
x=3;
}
else{
console.log(x);//输出5
}

if/else语句是双选结构,满足if条件的走if内部,如果不满足则走else

3.三元结构(a>b?a:b)

三元结构其实就是三元运算符。var result=5>3?5:3;此时result=5;

4.多选结构(switch)

switch语句与if语句相似,也是常用的流程控制语句。

switch(exper){

case value:state;

break;

case value:state;

break;

default:state;

break;

}

var x=99;
switch(true){
case x<60:
console.log("差");
break;
case x>=60&&x<80:
console.log("中");
break;
case x>=80&&x<90:
console.log("良");
break;
case x>=90&&x<=100:
console.log("优");
break;
default:
console.log("成绩不符合规范");
break;
}

上面的switch语句模拟了成绩的分级,x=99,输出优。x=50,则输出不及格。x=101,则输出“成绩不合格”

循环语句,使用该语句来进行对满足条件的表达式进行循环操作。循环语句包括do-while,while,for,for-in.

do-while语句,在循环表达式的最后测试表达式的条件,也就是说do-while语句至少会执行一次。

var i=0;
do{
console.log(i);
}while(i>1);

上述语句会输出0,但是i并不大于1,所以do-while语句至少会执行一次循环体。

while语句,与do-while语句类似,但是while语句是先判断条件,再执行循环体。如果条件不满足,则循环体一次都不会执行。

var x=10;
while(x<12){
console.log(x++);//输出10,11
}

上述语句输出10,11.上述循环语句执行了两次,x++是先使用值,再进行加1的操作。

for语句是一种前测试循环语句,与while语句类似,也是先进行条件判断,再执行循环体。

for(var i=10;i<12;i++){
console.log(i);//输出10,11
}

上述语句输出10,11.与while循环语句效果相同。

for语句指定一个计数器变量、一个测试条件以及一个更新计数器的操作。  在每次循环迭代之前,先测试条件。  如果测试成功,则执行循环内的代码。  如果测试失败,则不执行循环内的代码,程序继续执行紧靠循环后面的第一行代码。  在循环执行后和下一次迭代开始之前,先更新计数器变量。

如果循环条件始终不满足,则不执行该循环。  如果始终满足测试条件,则产生无限循环。  在某些情况下,可能希望出现前一种情况,但几乎从不希望出现后一种情况,因此编写循环条件时一定要谨慎。

for-in语句是一种精准的迭代语句,可以用来迭代对象的属性。

var obj = new Object();
obj.name="druant";
obj.age="29";
obj.sex="man";
for(prop in obj){
console.log(prop+":"+obj[prop]);
}

上述语句输出,name:druant age:29 sex:man.在使用for-in循环前,最好先判断对象的值是否为null或者undefined

break与continue,break操作符用于调出循环,执行循环外下面一行的语句。continue语句用于跳出当前迭代,进行下一次的循环。

var array=[10,11,12,13];
for(var i=0,len=array.length;i<len;i++){
if(array[i]===12){
break;
}
console.log(array[i]);
}

上述for循环语句输出10,11.当循环到12的时候,跳出循环体。

var array=[10,11,12,13];
for(var i=0,len=array.length;i<len;i++){
if(array[i]===12){
continue
}
console.log(array[i]);
}

上述for循环输出,10,11,13.当循环到12的时候,跳过本次循环,继续执行下一次循环。

JavaScript语句-流程控制语句的更多相关文章

  1. JavaScript的流程控制语句

    JS的核心ECMAScript规定的流程控制语句和其他的程序设计语言还是蛮相似的.我们选择一些实用的例子来看一下这些语句.顺序结构我们在这里就不再提到,直接说条件和循环以及其他语句.一.条件选择结构  ...

  2. javaScript的流程控制语句学习笔记

    JavaScript提供了5种流程控制语句,if条件判断语句,switch语句,for循环语句,while循环语句,do-while循环语句. 1.条件判读语句 对变量或表达式进行判定,并根据判定结果 ...

  3. JavaScript语法-流程控制语句

    一.JavaScript特殊语法 JS特殊语法: 1. 语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议) 2. 变量的定义使用var关键字,也可以不使用 * 用: 定义的变量是局部变量 * ...

  4. javaScript(6)---流程控制语句

    学习要点: 1.语句的定义 2.if 语句 3.switch语句 4.do...while语句 5.while语句 6.for语句 7.for...in语句 8.break和continue语句 9. ...

  5. JavaScript的流程控制语句以及函数

    一.流程控制 1. 作用:控制代码的执行顺序 2. 分类 2.1顺序结构:从上到下依次执行代码语句 2.2选择结构: 1. if语句 简单if结构 if(条件表达式){ 表达式成立时执行的代码段 } ...

  6. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

  7. Java基础篇(03):流程控制语句,和算法应用

    本文源码:GitHub·点这里 || GitEE·点这里 一.分支语句 流程控制语句对任何一门编程语言都是非常重要的,Java中基于流程控制程序执行的不同步骤和代码块. 1.IF条件 IF条件语句会根 ...

  8. JavaScript基础&实战(3)js中的流程控制语句、条件分支语句、for循环、while循环

    文章目录 1.流程控制语句 1.1 代码 1.2 测试结果 2.弹窗提示输入内容 2.1 代码 2.2 测试结果 3.条件分支语句 3.1 代码 3.2 测试结果 4.while和 do...whil ...

  9. 二、JavaScript语言--JS基础--JavaScript进阶篇--流程控制语句

    1.if语句--做判断 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位, ...

随机推荐

  1. <Spring Cloud>入门四 Feign

    1.Feign 之前使用的是Ribbon+RestTemplate调用,通过的是微服务的名字进行调用,实现负载均衡 但是为了满足接口编程,提供了Feign 2.实现 2.1引入坐标 在 ms-comm ...

  2. (9) openssl enc(对称加密)

    对称加密工具,了解对称加密的原理后就很简单了,原理部分见下文. openssl   enc  -ciphername   [-in filename]   [-out filename]   [-pa ...

  3. (二十三)Python 3 文件操作

    文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 打开文件的模式有三种: 只读模式(默认) 只写模式(不可读,不存在则创建,存在则覆盖) 追加模式(可读,不存在则 ...

  4. JSP默认选中下拉框的某一项

    注意<c:if>标签要写在<option>标签里面 <select id="salesInventory_${s.index}" style=&quo ...

  5. 【Codeforces 1107D】Compression

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 先把所给的压缩形式的字符串转成二进制 然后对获得的01数组做一个前缀和(a[i][j]=以(i,j)为右下角,(1,1)为左上角的矩形内的数字 ...

  6. rac的不完全恢复

    模拟rac的不完全恢复,虽然小鱼对常规的完全和不完全恢复已经轻车熟路了,还是记录一个不完全恢复完整过程记录下来. 1 首先小鱼做了一个完全备份. RMAN> backup database in ...

  7. BZOJ 2763: [JLOI2011]飞行路线 【SPFA】

    Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格.Al ...

  8. bzoj 1251序列终结者 splay 区间翻转,最值,区间更新

    序列终结者 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 4594  Solved: 1939[Submit][Status][Discuss] De ...

  9. 前端学习之-- DOM

    Dom == document 1:查找 1:直接查找 document.getElementById('i1') # 根据ID获取一个标签(获取单个元素) document.getElementsB ...

  10. CDI Services *Decoretions *Intercepters * Scope * EL\(Sp EL) *Eventmodel

    1.Decorators装饰器综述 拦截器是一种强大的方法在应用程序捕捉运行方法和解耦.拦截器可以拦截任何java类型的调用.  这使得拦截器适合解决事务管理,安全性,以及日记记录.  本质上说,拦截 ...