JavaScript语句-流程控制语句

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的时候,跳过本次循环,继续执行下一次循环。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

浅谈Go语言中闭包的使用

闭包(Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由...

55880
来自专栏desperate633

关于Java构造函数(Constructor)的常见问题总结1 为什么调用子类的构造方法的时候,默认会调用父类的构造方法2 常见错误:Implicit super constructor is und

当继承自一个类的时候,构造方法就会首先调用super()方法。如果没有显式的写这个语句,那么编译器就会自动插入这个语句。这就是为什么我们上面的那个例子程序会先调...

17330
来自专栏封碎

Python中的简单类型 博客分类: Python PythonCC++C#编程

整数 & 浮点数 整数有两种,分别是 int 和 long。其中 int 最大值是 2147483647 (sys.maxint),而 long 长度仅...

13430
来自专栏北京马哥教育

Python 循环语句

? 文 | 云豆 来源 | 菜鸟教程 ? 云豆贴心提醒,本文阅读时间2分钟,文末有秘密! 本章节将向大家介绍Python的循环语句,程序在一般情况下是...

45540
来自专栏Golang语言社区

[Go语言]从Docker源码学习Go——指针和Structs - lemon_bar

http://www.cnblogs.com/lemonbar/p/3932981.html 主题 Go语言 Docker function和method关...

39640
来自专栏代码世界

Python基础数据类型之字典

 基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型。 不可变数据类型:元组(tupe)、布尔值(bool)、整数型(int)、字符串(str...

36490
来自专栏coder修行路

go 从入门到精通(二)基本数据类型和操作符

一、文件名&关键字&标识符 所有go源码都是以.go结尾 标识符以字母或下划线开头,大小写敏感 下划线_是特殊标识符,用户忽略结果 保留关键字 导入包时可以设置...

20790
来自专栏python3

python3--基础数据类型

切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾尾)

10020
来自专栏技术碎碎念

python3 入门 (一) 基础语法

1.编码问题 默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 也可以为源码文件指定不同的编码,在文件头部加上...

31970
来自专栏靠谱PM

JavaScript基本语法(二)

1.if语句 2.if-else语句 3.三元表达式 4.if-else if-else if语句 5.switch-case 6.总结

8120

扫码关注云+社区

领取腾讯云代金券