上篇博文说到JS的运算符,这次说说JS程序流程控制。

1、 条件语句 if

语法:

if(condition)

   statements1

   else

   statement2

当括号里的条件成立的时候,执行if后的statements1语句,否则执行statement2语句。

例:

    var  a=1;

var  b=2;

if(a>b) {

alert(“hello world”);

}

  else

  alert(“hello!”);

此时页面结果为弹出对话框,内容为hello!

我们还可以使用以下条件语句:

if...else  if....else 语句- 使用该语句来选择多个代码块之一来执行

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

例:

if (time<10)
  {
  x="Good morning";
  }
else if (time<20)
  {
  x="Good day";
  }
else
  {
  x="Good evening";
  }

2、 switch 语句

switch 语句用于基于不同的条件来执行不同的动作。

语法:

switch(n)
{
case 1:
  执行代码块 1
  break;
case 2:
  执行代码块 2
  break;
default:
 n 与 case 1 和
case 2 不同时执行的代码。即默认的情况下执行的代码。
}

首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用
break来阻止代码自动地向下一个 case 运行。

例:

var day=new Date().getDay();
switch (day)
{
case 6:
  x="Today it's Saturday";
  break;
case 0:
  x="Today it's Sunday";
  break;
default:
  x="Looking forward to the Weekend";
}

alert(x);

运行结果:Looking forward to the Weekend

3、for 循环        

如果一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。

语法:

for (语句 1; 语句 2; 语句 3)
  {
        
被执行的代码块
  }

语句 1 (代码块)开始前执行
starts.

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

语句之间用分号隔开。

例:

for (var i=0;
i<5; i++)
  {
  x=x + "The number is " + i + "<br>";
  }

语句1定义了变量i为0,若语句2中i<5成立,则执行花括号里的内容,再执行语句3。知道语句2不成立,即值为false时,则退出循环。

注:

(1)、

通常我们会使用语句 1
初始化循环中所用的变量 (var i=0)。

语句 1 是可选的,也就是说不使用语句 1 也可以。

我们可以在语句 1 中初始化任意(或者多个)值。

(2)、

通常语句 2 用于评估初始变量的条件。

语句 2 同样是可选的。

如果语句 2 返回
true,则循环再次开始,如果返回 false,则循环将结束。

如果了语句 2,那么必须在循环内提供
break。否则循环就无法停下来。这样有可能令浏览器崩溃。

(3)、

通常语句 3 会增加初始变量的值。

语句 3 也是可选的。

语句 3 有多种用法。增量可以是负数 (i--),或者更大 (i=i+15)。

语句 3 也可以省略(比如当循环内部有相应的代码时)。

4、for/in 循环

for/in 语句循环遍历对象的属性:

例:

var person={fname:"John",lname:"Doe",age:25};

for (x in person)
  {
  txt=txt + person[x];
  }

5、while 循环

语法:

while (条件)
      {
     
   需要执行的代码
      }

例:

var i=0;

while (i<5)
 {
    x=x + "The number is " + i +
"<br>";
    i++;
  }

当i的值小于5时,循环会继续。直到i>=5,才会退出循环。

6、Do/While 循环

do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。do while 与while 的区别是do while是先执行后判断;而while是先判断后执行。所以do while至少会执行一次循环。

语法:

Do

{
        
需要执行的代码
  }
while (条件);  //不要漏掉这里的分号;

7、break 语句和 continue 语句

break 语句可以立即退出循环; (终止循环)

continue 语句只是退出当前循环; (跳出当前循环)

例:(1)

for(var i = 1; i < 10; i++){

if(i == 4){

continue;

}

n++;

}

document.write(n);

输出结果为:8

本来循环应该执行9次,但当i的值增加到4时,遇到语句continue,跳过了该次循环,所以总循环次数为8。

(2)

var n = 0;

for(var i = 1; i < 10; i++){

if(i == 4){

break;

}

n++;

}

document.write(n);

输出结果为:3

本来循环应该执行9次,但当i的值增加到4时,遇到语句continue,终止了循环,所以总循环次数为3。

JavaScript基本语法(三)的更多相关文章

  1. 一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象

    一.JavaScript的概述###<1>JavaScript的概念 又称ECMAScript,和java没有任何关系 嵌入在HTML元素中的 被浏览器解释运行的 一种脚本语言. ###& ...

  2. javascript高级语法三

    一.js的正则表达式 1.什么是正则表达式 正则表达式(regular expression)是一个描述字符模式的对象,ECMAScript的RegExp类表示正则表达式,而String和RegExp ...

  3. javascript运算符语法概述

    × 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...

  4. javascript基础语法——词法结构

    × 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...

  5. javaScript高程第三版读书笔记

    看完<dom编程艺术>现在准备读进阶版的js高程了,由于篇幅较长,所以利用刚看完<dom编程艺术>学到的知识写了段JavaScript代码,来折叠各章的内容.并且应用到了< ...

  6. javascript的语法作用域你真的懂了吗

    原文:javascript的语法作用域你真的懂了吗 有段时间没有更新了,思绪一下子有点转不过来.正应了一句古话“一天不读书,无人看得出:一周不读书,开始会爆粗:一月不读书,智商输给猪.”.再加上周五晚 ...

  7. Javascript多线程引擎(三)

    Javascript多线程引擎(三) 完成对ECMAScript-262 3rd规范的阅读后, 列出了如下的限制条件 1. 去除正则表达式( 语法识别先不编写) 2. 去除对Function Decl ...

  8. JavaScript中的三种弹出对话框

    学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法.prompt()方法.prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性 ...

  9. 【repost】JavaScript 基本语法

    JavaScript 基本语法,JavaScript 引用类型, JavaScript 面向对象程序设计.函数表达式和异步编程 三篇笔记是对<JavaScript 高级程序设计>和 < ...

  10. JavaScript基础(三)

    十三.JS中的面向对象 创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或对象字面量创建对象 ...

随机推荐

  1. ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务

    1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...

  2. SQL Server 解读【已分区索引的特殊指导原则】(1)- 索引对齐

    一.前言 在MSDN上看到一篇关于SQL Server 表分区的文档:已分区索引的特殊指导原则,如果你对表分区没有实战经验的话是比较难理解文档里面描述的意思.这里我就里面的一些概念进行讲解,方便大家的 ...

  3. bootstrap中的Grid system详解

    啦啦啦,都十月中旬啦,好快啊,这个月的多一半都过去了,然而我才写第三篇随笔,小颖得加油啦~~~ 下面来看下小颖给大家分享的内容 1.   .col-md-*和.col-xs-* <!doctyp ...

  4. ConcurrentDictionary线程不安全么,你难道没疑惑,你难道弄懂了么?

    前言 事情不太多时,会时不时去看项目中同事写的代码可以作个参考或者学习,个人觉得只有这样才能走的更远,抱着一副老子天下第一的态度最终只能是井底之蛙.前两篇写到关于断点传续的文章,还有一篇还未写出,后续 ...

  5. Web APi之异常处理(Exception)以及日志记录(NLog)(十六)

    前言 上一篇文章我们介绍了关于日志记录用的是Log4net,确实也很挺强大,但是别忘了我们.NET有专属于我们的日志框架,那就是NLog,相对于Log4net而言,NLog可以说也是一个很好的记录日志 ...

  6. 应用程序框架实战三十八:项目示例VS解决方案的创建(一)

    进行项目开发的第一步,是创建出适合自己团队习惯的VS解决方案,虽然我已经提供了项目示例,但毕竟是我创建的,你直接使用可能并不合适,另外你如果尝试模仿重新创建该示例,中间可能碰到各种障碍,特别是项目间的 ...

  7. node-mysql 在4.2.0的时候遇到的错误

    实际上这个问题折腾了几天.前一阵因为升级到了最新的4.2.0,发现mysql的应用就出错了,错误消息也比较奇怪 Handshake Inactivity Timeout - PROTOCOL_SEQU ...

  8. 如何用C#代码判断一个类的类型

     var s = "";  s.GetType().IsClass; 来自为知笔记(Wiz)

  9. ASP.NET或者 js方式实现文件夹多图片浏览的方式

    1.JS方式,限制大,而且图片名称如果不规则的话会获取不全. <html> <head> <style> img { max-width:1300px; } < ...

  10. 浅谈2D游戏设计模式3 - 冒险地图之美(1)

    冒险岛之所以能长久的存在,很大一部分原因是因为它的美工设计的非常的精细,以及独特,那么独特以及美究竟体现在哪些方面呢? 今天我就带大家来分析几幅地图吧. 好吧,我们就拿上面这幅美景来分析吧. 1.阳光 ...