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

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

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. TCP/IP协议原理与应用笔记17:IP编址(重点)

    1. IP地址(通用标识符) 对于同一个网络设备(主机或路由器)的不同网络连接,需要不同的IP地址进行标识 2. 主机标识符 主要有下面三种方式的主机标识方式: (1)Name:是什么,可读性强(了解 ...

  2. 使用addClass()设置自增类名

    今天在翻阅JQuery API的时候发现,addClass()方法不仅可以添加类,同时可以调用回调函数. 代码如下: <body> <p>item1</p> < ...

  3. poj 2057 树形dp 贪心

    思路:设sum[i],le[i],back[i],worm[i]分别表示以i为根节点需要的完成步数,叶子节点数,失败回退步数,以及i是否有虫. #include<iostream> #in ...

  4. 如何使用CSS实现小三角形效果

    如何使用CSS实现小三角形效果:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在众多的网页效果中,都有小三角形效果的应用,能够增加特定应用的美观度,下面就给出一段实例代码,里面介绍了两种实现小 ...

  5. ASP判断当前页面上是否有参数ID传递过来

    遇到了一个这样的ASP问题: 在当前页面上判断,是否有参数ID传递过来? 如果没有,显示“没有参数传递过来”. 如果有传递,但值为空,显示“存在参数,但参数为空” <% if (request( ...

  6. 详解Win2003 IIS6.0 301重定向带参数的问题(转摘)

      网站更换域名,把旧域名用301指到新域名来. 从iis中设置url永久转向就可以,看上去很容易,用了一会儿才发现,参数都没有带上. 从微软网站上找到如下说明,果然好使: 重定向参考 (IIS 6. ...

  7. ubuntu(16.04.01)学习-day1

    1.修改root用户密码 sudo passwd root 按提示进行设置. 2.从Ubuntu 16.04开始,用户可以实现改变启动器的位置,可以将启动器移到屏幕底部,但是无法移到右边或顶部.打开终 ...

  8. Cocos移植到Android-使用Eclipse交叉编译打包

    如果对命令行望而生畏,我们可以借助于安装有ADT插件的Eclipse工具实现交叉编译.使用Eclipse进行交叉编译,首先需要将要编译的工程导入到Eclipse的Workspace中,Workspac ...

  9. NSArray的Category

    NSArray的Category 前言 项目中自己通过各种渠道及结合项目的经验整理了一套自己的工具包,里面有各种Category,及封装的方法,方便项目使用,今天先分享一下NSarray的Catego ...

  10. C#--格式化数值数据

    如果数值数据需要更精细的格式化,每一个占位符都可以包含不同的格式字符,下表展示了核心格式化选项.   下面用一个例子来说明. namespace LearningCSharp { class Prog ...