JavaScript中语句主要分为三类:顺序,分支,循环。

1.顺序语句:

按照循序依次执行,最普通常见的语句,这里不多赘述。

其结构如下

2.分支语句:

根据条件判断,不同的结果执行不同的语句。

其大致结构如下

常用的分支语句有

if……else……和switch……case……

if语句的几种

1.

if(判断条件){

条件成立时执行

}

举例:

    var i=12;
    if(i>10){
        alert("i大于10");
        }

2.

if(判断条件){

条件成立时执行

}else{

条件不成立时执行

}

举例:

    var i=9;
    if(i>10){
        alert("i大于10");
        }else{
            alert("i不大于10");
            }

3.

if(判断条件){

条件成立时执行

}else  if(第二个判断){第二个判断成立

}else{

两个判断都不成立时执行

}

举例:

    var i=9;
    if(i>10){
        alert("i大于10");
        }else if(i==10){
            alert("i等于10");
            }else{
                alert("i小于10");
                }

4.

if(第一个判断){

  if(第二个判断){

    两个判断都成立

  }else{第一个判断成立,第二个判断不成立

    }

}else{两个判断都不成立

}

举例:

    var i=10;
    if(i>=10){
        if(i==10){
            alert("i=10");
            }else{
                alert("i>10");
                }
        }else{
            alert("i<10");
            }

switch……case……语句:

switch语句适用于分支较多的情况

switch(变量){

  case 判断1:

    执行的语句;break;

  case 判断2:

    执行的语句;break;

  ……

  default:

    执行语句;

}

注意:break是跳出当前{}语句

实例:

    var i=parseFloat(prompt("请输入一个数字"));
    var k=prompt("请输入运算符");
    var l=parseFloat(prompt("请在输入一个数字"));
    switch(k){
        case "+":
        alert(i+l);break;
        case "-":
        alert(i-l);break;
        case "*":
        alert(i*l);break;
        case "/":
        alert(i/l);break;
        default:
        alert("输入有误");
        }

这还是一个简单的计算过程。

需要注意的是:用户输入的是字符串,所以数字需要用parseInt(),parseFloat()转换为整数或小数,而case中要用“”代表运算符,不能直接用case +

循环语句:

循环语句主要有for循环和while循环

fo循环:

for循环的特点是控制循环的次数

四要素:初始值  循环条件  状态改变  循环体

for(初始值;循环条件;状态改变){

  循环体;

}

其执行过程为:

初始值-判断条件-循环体-状态改变

  -判断条件-循环体-状态改变

    -判断条件-循环体-状态改变

      ……

        判断条件-循环结束

    for(i=0;i<100;i++){
        alert(i);
        }

再循环中有几个需要注意的点:

break:跳出整个循环

    for(i=0;i<100;i++){
        alert(i);
        break;
        }

则只输出一个0.然后结束

continue:跳出本次循环

    for(i=0;i<100;i++){
        if(i==5){
            continue;
            }
        alert(i);
        }

4之后跳过5,直接6

i++与++i:

var a=i++;

把i的值赋给a然后i+1

也就是:

var a=i;

i=i+1;

var b=++i;

i+1然后把i的值赋给b

i=i+1;

var b=i;

举例:

    var i=1;//i=1
    var a=i++;//把i的值也就是1赋给a,a=1,然后i自增,i=2
    var b=++i;//i自增,i=3,把的值i赋给b,b=3
    alert("a="+a+","+"b="+b);

while循环:

while循环的特点是操作不确定循环次数的循环

while(条件,可以为true){

}

    var i=0;
    while(true){
        alert(i);
        if(i>10){
            break;
            }
            i++;
        }

上代码执行后,会0,1,2,3…依次弹出,直到11。

下面是几个简单的循环例子:

//求100内奇数
    var str="";
    for(var i=0;i<100;i++){
        if(i%2==1){
            str=str+i+","+"\n";
            }
        }
    alert(str);

首先定义一个空的字符串str,然后循环在i<100,中间嵌套if判断i除以2的余数为1,然后把字符串拼接在一起,需要注意的是/n换行,上图是没有换行的结果

这里需要注意一下:

转义字符,\反斜杠开头,\n  \r  换行   \t制表符  \" 正常“”

    
//100以内和7相关的数
var str=""; for(var i=0;i<100;i++){ if((i%7==0)||(i%10==7)||((i-i%10)/10==7)){ str=str+i+","+"\n"; } } alert(str);

输出100以内和7相关的数,这里需要注意的是,将几个和7相关的判断条件用||一起放在判断条件中,代表任何一个成立都可以

//输出乘法口诀表
    for(var i=1;i<10;i++){
        for(j=1;j<10;j++){
            if(i<=j){
                alert(i+"*"+j+"="+i*j);
                }
            }
        }
        

输出乘法口诀表,

这里需要注意的是乘法口诀表,也就是这里要定义两个变量来相乘,要用两个循环嵌套起来

    //篮球5米落下,每次弹起高度是原来的0.3,求弹起第6次高度
    var h=5;
    for(var i=0;i<6;i++){
        h=h*.3;
        }
    alert(h);

这里需要注意的是,首先定义原本的高度h=5米,然后用for循环控制循环6次,每次h乘以0.3

    //一个芝麻0.000001kg,棋盘32个格子,,第一个格子1个,二个2个,三个4个,放满需要多重的芝麻
    var sum=0;//总数
    var a=1;//每个格子数量
    for(var i=0;i<32;i++){   //i=1,循环31次,如果i=0,循环32次,如果sum为1,所以循环应该是31次
        sum=sum+a;        //
        a=a*2;//后一个格子等于前一个格子数量两倍

        }
    alert(sum*.000001);

这里尤其需要注意的是,顺序,思维和语句的顺序,正常来看,首先还没有放的时候,总数sum=0,然后在循环中循环的初始值i也要为0,这样循环32次,如果i=1,则只会循环31次,然后sum=sum+a;第一个格子的数量为1,然后a=a*2代表下一个格子的芝麻数量。

之前用的另一串代码

    var sum=1;//总数
    var a=1;//每个格子数量
    for(var i=1;i<32;i++){   //i=1,循环31次,如果i=0,循环32次,如果sum为1,所以循环应该是31次
                a=a*2;//后一个格子等于前一个格子数量两倍
                sum=sum+a;

        }
    alert(sum*.000001);
                

在这里,第一个格子已经放了一个芝麻,所以sum=1,因此i=1控制循环31次而不是32次,这样先a乘以2在sum=a。

JavaScript之语句,循环的更多相关文章

  1. 你可能不知道的java、python、JavaScript以及jquary循环语句的区别

    一.概述 java循环语句分为四种形式,分别是 while, do/while, for, foreach: python中循环语句有两种,while,for: JavaScript中循环语句有四种, ...

  2. javascript里的循环语句

    前序:我一直对于for跟for..in存在一种误解,我觉得for都能把事情都做了,为啥还要for...in...这玩意了,有啥用,所以今天就说说JavaScript里的循环语句. 循环 要计算1+2+ ...

  3. JavaScript基础——实现循环

    循环是多次执行同一段代码的一种手段.当你需要在一个数组或对象集上重复执行相同的任务时,这是非常有用的. JavaScript提供执行for和while循环的功能. 1.while循环 JavaScri ...

  4. html+css+javascript实现列表循环滚动示例代码

    使用html+css+javascript实现列表循环滚动,设置时间定时,在规定的时间内替换前一个节点的内容,具体示例如下,感兴趣的朋友可以参考下 说明:设置时间定时,在规定的时间内替换前一个节点的内 ...

  5. javascript里for循环的一些事情

    今天在给一个学妹调她的代码BUG时,她的问题就是在一个for循环里不清楚流程的具体流向,所以导致了页面怎么调都是有问题,嗯确实你如果不清楚语句流向很轻易就会出问题,所以说for循环不会用或者说用的不恰 ...

  6. 深入探究javascript的 {} 语句块

    今日学习解析json字符串,用到了一个eval()方法,解析字符串的时候为什么需要加上括号呢?摸不着头脑.原来javascript中{}语句块具有二义性,不加括号会出错,理解这种二义性对我们理解jav ...

  7. 从头开始学JavaScript (六)——语句

    原文:从头开始学JavaScript (六)--语句 一.条件分支语句:if 基本格式: if (<表达式1>){    <语句组1>}else if (<表达式2> ...

  8. JavaScript for...in 循环

    JavaScript for...in 语句循环遍历对象的属性. 语法 for (对象中的变量) { 要执行的代码 } 注释:for...in 循环中的代码块将针对每个属性执行一次. 实例 循环遍历对 ...

  9. javascript递归、循环、迭代、遍历和枚举概念

    javascript递归.循环.迭代.遍历和枚举概念 〓递归(recursion)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法.递归一词还较常用于描述以自相似方法重复事物的过程.例如,当 ...

随机推荐

  1. 初识Kafka----------Centos上单机部署、服务启动、JAVA客户端调用

    作为Apach下一个优秀的开源消息队列框架,Kafka已经成为很多互联网厂商日志采集处理的第一选择.后面在实际应用场景中可能会应用到,因此就先了解了一下.经过两个晚上的努力,总算是能够基本使用. 操作 ...

  2. UPYUN云服务体验计划,阅读神器Kindle、LaCie移动硬盘、索尼大法充电宝、高大上极路由、UPYUN代金券等你拿!

    请看以下的“通关攻略”,分享你对云服务的“体验心得”,即可赢取绝佳的“通关宝藏”,阅读神器Kindle.LaCie移动硬盘.索尼大法充电宝.高大上极路由.UPYUN代金券等你拿!先来了解下UPYUN能 ...

  3. bzoj2876 [Noi2012]骑行川藏

    Description 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因 ...

  4. Understanding a Kernel Oops!

    Understanding a kernel panic and doing the forensics to trace the bug is considered a hacker's job. ...

  5. 封装类(Merry May Day to all you who are burried in work ~)---2017-05-01

    1.为什么要使用封装类? (1) 可以多个地方调用,避免代码的冗余 (2)面向对象三大特点之一,安全性高 2.代码及注意点? <?php class DB //文件名为:DB.class.php ...

  6. Silverlight的DataGrid合并单元格

    现在也不知道还有没有同学做Silverlight开发了,我是一个Silverlight菜鸟,遇到问题也很难百度查到.就简单的记录一下这两天遇到的问题,并做了一个简单的小Demo,希望能够帮助到其他同学 ...

  7. Struts2拦截器登录验证

    Struts2拦截器 Struts2拦截器的概念和Spring Mvc拦截器一样. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截 ...

  8. scala读取jar包外配置文件的方式

    在scala的开发过程中,经常会修改程序的参数,将这些参数放到配置文件中避免了重复编译,打包的过程 这里给出读取配置文件的三种方式 方式一: 这是最常见的读取配置文件方式 val postgprop ...

  9. 使用java API操作HDFS-相关环境的设置

    用于装在编译类,即为hadoop的类路径 退出后重新登录,再使用env检查. jps可以直接使用了,表示已经设置成功. 在myclass之中创建类文件,这个myclass目录是自己创建的.

  10. 用react系列技术栈实现的demo整合系统

    引子 学生时代为了掌握某个知识点会不断地做习题,做总结,步入岗位之后何尝不是一样呢?做业务就如同做习题,如果‘课后’适当地进行总结,必然更快地提升自己的水平. 由于公司采用的react+node的技术 ...