上一节我们介绍了函数,本小节我们介绍一下流程控制语句,对于任何一门编程语言来说,流程控制都是非常重要的,也就是我们常说的顺序结构、选择结构和循环结构。

************选择结构***************

1.Javascript中用条件语句来实现选择结构,它提供的选择结构主要是if语句、if....else语句和if...else if ...else语句,还有一个switch语句,和PHP很像。

2.这些语句都比较基础,因此我们这里只给出if...else if..else的形式的伪代码如下:

if (condition1)
{
当条件 1 为 true 时执行的代码
}
else if (condition2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}

3.下面是switch语句的伪代码:

switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
n 与1和2 不同的时候执行的代码
}

4.需要说明的是:这里的break用于跳出该switch语句,default用于当上面的内容都不会被匹配到的时候再去执行的代码。

************for循环************

1.js的for循环和C、C++、Java、PHP的for循环都是一样的,都是下面的形式,先看伪代码:

for(初始条件;最终判断条件;单步执行增量){
//每次循环执行的代码
}

2.然后就是一个实例:

var x = 0;
for(var i = 0;i <5;i++){
x += i;
}

3.这样之后的x就是10,它是计算了从0加到4的和。

4.我们可以用for in循环来遍历对象的属性,比如如下代码:

var msg = "";
var person = {name:"辛星",age:24};
for(x in person){
msg = msg + person[x];
}
alert(msg);

5.上面的.person是一个对象,关于对象我们后面还会说明,这里我们看到x是作为person的一个属性出现的,person调用这个属性就像我们在其他编程语言中使用数组那样的用法。

***************while循环******************

1.while语句的语法的伪代码:

while(条件){
//功能代码
}

2.那我们根据此伪代码写出它的真正的代码示例:

var sum = 0;
var i = 0;
while (i <10){
sum += i;
i++;
}
alert(sum);

需要注意的一点就是这里的i++不要忽略,否则代码会进入死循环。

3.同理还有do...while循环语句,伪代码如下:

do{
//功能代码;
}while(条件);

4.do...while循环和while循环的唯一区别就是do...while会先循环一次,然后判断条件,其实,我们可以用while循环来代替它,因此有些语言就舍弃了do...while语句,但是我们的js语言还是支持的。

**************小结**************

1.js代码作为脚本,它的程序执行顺序是自上至下的,它不会像C语言那样从main函数开始。

2.本小节讲到了三种顺序和几个语句,有其他编程语言基础的话,很容易理解,而且js本身就仿照了c 的语法,就更容易看懂了。

2014年辛星完全解读Javascript第四节 流程控制语句的更多相关文章

  1. 2014年辛星完全解读Javascript第七节 数组和对象

    由于Javascript是脚本语言,因此,使用起来非常方便,数组的使用也是比较简单的,下面我们就主要介绍一下Javascript中数组的介绍,以及上一节中没有完成的对象的介绍. *********** ...

  2. 2014年辛星完全解读Javascript第六节 对象

    随着面向对象的普及,现在很多语言都在支持面向对象,Javascript也不例外,所谓对象,就是拥有属性和方法的数据.这里的属性其实就是变量,这里的方法,其实就是函数.但是Javascript的面向对象 ...

  3. 2014年辛星完全解读Javascript第五节 break和continue与错误处理

    先说一下break和continue的主要用法吧,break用于跳出循环,continue用于跳过该循环中的一个迭代.简单的说,就是break直接从该语句跳出,但是continue不会跳出该循环语句, ...

  4. 2014年度辛星css教程夏季版第四节

    接下来的这一节我计划讲解的是超链接和列表的样式,然后我们做出一个导航栏出来,其实导航栏是非常常见的,但是我们这里做得这个有点并不那么完善,等我们学完了css之后再完善它. ************** ...

  5. 2014年辛星完全解读Javascript第一节

    ***************概述*************** 1.Javascript是一种原型化继承的基于对象的动态类型的脚本语言,它区分大小写,主要运行在客户端,用户即使响应用户的操作并进行数 ...

  6. 2014年辛星完全解读Javascript第八节 json

    json是JavaScript Object Notation的简写,它是一种轻量级的数据交换格式,而且表达上很容易靠字面去理解.json是用于存储和传输数据的格式,通常用于向服务器端传递数据. ** ...

  7. 2014年辛星完全解读Javascript第三节

    经过第一节的入门和第二节的运算符,那么接下来我们就可以学习Javascript的函数了,当然了,不管大家之前学习的是什么编程语言,都会有函数的概念,如果大家学的是Pascal,还会有”过程“的概念,但 ...

  8. 2014年辛星完全解读Javascript第二节

    本小节我们讲解一下Javascript的语法,虽然js语言非常简单,它的语法也相对好学一些,但是不学总之还是不会的,因此,我们来一探究竟把. ********注释************* 1.我们通 ...

  9. 2014年度辛星html教程夏季版第四节

    我们前面也涉及了HTML中的一些东西,接下来我们要涉及到图像了,如果没有图像,即使文字的样式再多,再复杂,终归还是单调的,我们就需要用图片来给我们的网页增加更多的表现形式. ************* ...

随机推荐

  1. truncate与delete 、drop的区别

    注意事项 1.在oracle中数据删除后还能回滚是因为它把原始数据放到了undo表空间. 2.DML语句使用undo表空间,DDL语句不使用undo,  而delete是DML语句,truncate是 ...

  2. 关于js判断鼠标移入元素的方向——上下左右

    一开始我是这么想的,将待移入的元素分割四块,用mousemove获取第一次鼠标落入的区域来判断鼠标是从哪个方向进去的. 所以只要写个算法来判断鼠标的值落入该元素的区域就可以得出鼠标移入的方向,如下图: ...

  3. [改善Java代码]强制声明泛型的实际类型

    Arrays工具类有一个方法asList可以把一个变长参数或数组变成列表,但是它有一个缺点:它所生成的List长度是不可改变的,而这在我们的项目开发中很不方便. import java.util.Ar ...

  4. 关于JDK中的设计模式

    结构型模式: 适配器模式: 用来把一个接口转化成另一个接口. java.util.Arrays#asList() javax.swing.JTable(TableModel) java.io.Inpu ...

  5. 最长非降/下降子序列问题(DP)(待续...)

    注意:抽象成以下描述即为最长非降/下降子序列问题(一维状态) 问题描述:在一个无序的序列a1,a2,a3,a4…an里,找到一个最长的序列满足:(不要求连续) ai<=aj<=ak…< ...

  6. c# 与 PHP中 SHA1加密结果不同解决方法

    那天在调试API的时候,发现用c#写的SHA1加密出来的结果和PHP中sha1()出来的不一样,找了半天的原因后来才弄出来 在调试微信接口的时候大多的帮助文档都是提供的是PHP的方法,所以在.net中 ...

  7. display:none与visible:hidden区别

    if(list.style.display=='none'){                 list.style.display='block';             }else{       ...

  8. Git CMD - show: Show various types of objects

    命令格式 git show [options] <object>…​ 实例 a) 查看某次提交的信息 $ git show <commit> b) 查看远程仓库的信息. git ...

  9. Slickflow.NET 开源工作流引擎基础介绍(一) -- 引擎基本服务接口API介绍

    1. 工作流术语图示                                              图1 流程图形的BPMN图形元素表示 1) 流程模型定义说明流程(Process):是企 ...

  10. Android从imageview中获得bitmap

    第一种: 使用setDrawingCacheEnabled()和getDrawingCache()这两种方法,第一个是为了设置是否开启缓存,第二个就可以直接获得imageview中的缓存,一般来说需要 ...