介绍完JS的简介和向量以及运算符,大家对JS也有了初步的了解和认识,今天带大家来看一下JS中常用的分支结构以及循环结构是怎么使用的

【JS中的分支结构】

一、【if-else结构】

  1、结构写法:

if(判断条件){
        //条件为true时执行
}else{
        //条件为false时执行
}    

  2、if()中的表达式,运算之后的结果应为:
    ①Boolean: true 真 false 假
    ②String: 非空字符串为真,空字符串为假
    ③Number:0为假,非0均为真
    ④Null/NaN/Undefined: 全为假
    ⑤object:全为真
  3、else结构可以根据具体情况省略

二、【多重if结构(阶梯if)】

  1、结构写法:

if(条件1){
        //条件1成立
}else if(条件2){
        //条件1不成立&&条件2成立
        //else if 部分可以又N多个
}else{
        //条件1不成立&&条件2不成立
}            

  2、多重if结构中,各个判断条件是互斥的!只能选择其中一条路。
  3、if/else的{}可以省略,一般不提倡。
    如果省略{} 则if/else结构包含的代码仅为其后最近的一行(分号结束);
    如果省略{} 则else结构永远属于其前方最近一个if结构。

三、【嵌套if结构】

  1、结构写法:

if (条件1){
        //条件1成立
    if (条件2){
            //条件1成立 条件2成立
    }else{
            //条件1成立 条件2不成立
    }
}else{
        //条件1不成立
}

  2、if结构可以多重嵌套,但是原则上不超过三层

四、【switch-case结构】

  1、结构写法:

switch(表达式){

    case 常量表达式1:
    语句1;
    break;

    case 常量表达式2:
    语句2;
    break;
    ……

    default:
    语句N;
    break;
}

  2、注意事项:
    ①switch()中的表达式,以及每个case后面的表达式,可以为任何JS支持的数据类型;(对象和数组不行)
    ②case后面的所有常量表达式,必须各不相同,否则只会执行第一个;
    ③case后的表达常量可以是任何数据类型,同一个switch结构的不同case可以是多种不同的数据类型;
    ④switch结构在进行判断的时候,采用的是全等判断===;
    ⑤break的作用:执行完case代码后跳出当前switch结构;
      >>>缺少break的后果:从正确的case项开始,依次执行所有的case和default 原因:⑥
    ⑥switch结构在判断时,只会判断一次正确答案,当遇到正确的case项后,将会不再判断后续项目,依次往下执行。
    ⑦switch结构的执行速率要快于多重if结构。在多路分支时,可优先考虑switch结构。

  

  举个例子:

var num4 = prompt(parseInt("输入一个数"));
switch (num4+5){
	case 9:
	document.write("这是9的case块")
	break;
        case 10:
	document.write("这是10的case块")
	break;
	default:
	document.write("这是default的case块")
	break;
}

  输入一个数字,如果输入的是4,则在屏幕上打印出"这是9的case块"

         如果输入的是5,则在屏幕上打印出"这是10的case块"

         如果是其他的数字,则在屏幕上打印出"这是default的case块"

【JS中的循环结构】

一、【循环结构的步骤】
  ①声明循环变量
  ②判断循环条件
  ③执行循环体(while{}中所有代码)操作
  ④更新循环变量
  然后循环执行② ③ ④

二、【JS中循环条件支持的数据类型】:所有数据类型(同if)
  ①Boolean: true 真 false 假
  ②String: 非空字符串为真,空字符串为假
  ③Number:0为假,非0均为真
  ④Null/NaN/Undefined: 全为假
  ⑤object:全为真

三、【while循环】

var n = 1;    	//声明循环变量
while (n<=5){	    //判断循环条件
        document.write("helloworlds<br />");	    //执行循环体(while{}中所有代码)操作
	n++;	    //更新循环变量
}    

  特点:先判断,再执行;
  *【do-while循环】

do{
	语句
 }while();

  特点:先执行,再判断;即便初始条件不成立,do-while循环也至少执行一次

四、【for循环】

for(var n=1,j=5;n<=5;n++,j--){
	document.write("helloFor<br />")
}

  1、for循环三个表达式,分别为:①定义循环变量 ②判断循环条件 ③更新循环变量
    三个表达式之间,用;分隔;
    for循环三个表达式均可以省略,但两个”;“缺一不可
  2、for循环特点:先判断,再执行;
  3、for循环三个表达式均可以有多部分组成,之间用逗号分隔;但是第二部分判断条件需要用&&连接,最终结果需要为真/假

五、【循环控制语句】
  1、break:终止本层循环,继续执行循环后面的语句;
    >>>当循环有多层时,break只会跳过一层循环。
  2、continue:跳过本次循环,继续执行下一次循环;
    >>>对于for循环,continue执行后,继续执行循环变量更新语句n++
    >>>对于while、do-while,continue执行后,继续执行循环条件判断;所以使用这两个循环时,必须注意continue一定要在n++之后使用。

for(var n=1;n<=20;n++){
	if(n%3==0){
		//break;
		continue;
	}
        document.write(n+"/");
}

  如果是break,则输出的结果是

  

  如果是continue,则输出的结果是

  

六、【循环嵌套】
  外层循环转一次,内层循环转一圈

for(var a=1;a<=5;a++){
  for(var b=1;b<=5;b++){
    document.write("*");
  }
  document.write("<br />");
}

  效果图:

  

好啦 ,今天就到这里,希望对你有些帮助。

【从无到有】JavaScript新手教程——2.分支结构和循环的更多相关文章

  1. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...

  2. JS基础-----JS中的分支结构及循环结构

    [分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语 ...

  3. JS分支结构与循环结构

    1.分支结构 ①if语句 语法结构 if (/* 条件表达式 */) { // 执行语句 } ​ if (/* 条件表达式 */){ // 成立执行语句 } else { // 否则执行语句 } ​ ...

  4. java第三课:分支结构、循环结构

    分支结构 1.if后面可以不加{},但是不建议,容易产生误解2.写程序的时候先防屌丝测试,再写逻辑,否则会出错3.if:一条分支 if else:两条分支 if...else if...:多条分支(结 ...

  5. C#学习笔记11:C#中的顺序结构、分支结构、循环结构

    顺序结构: 代码从Main()函数开始运行,从上到下,一行一行的执行,不漏掉代码. Int a=6; int b=5; int c=a+b; Console.Write(c); 分支结构: 代码有可能 ...

  6. 4.sass的分支结构、循环结构、函数

    分支结构 在sass里,可以使用@if让我们根据一些条件来应用特定的样式 结构: @if 条件 { } 如果条件为真的话,括号里的代码就会释放出来 例如: $use-refixes:true; .ro ...

  7. day4(分支结构,循环结构,for循环,九九乘法表)

    一:复习 ''' 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量, ...

  8. python4 分支结构,循环结构 for循环

    ## 复习 ```python'''1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开 ...

  9. Python中的分支结构和循环结构

    一.分支结构 语法: if  条件  :     .... else :    .... 例子: num = int(input("输入一个整数:")) if num<=10 ...

随机推荐

  1. 学习HTML5一周的收获4

    /* [CSS常用文本属性]  * 1.字体.字号: font-weight:字体的粗细,可选属性值:bold加粗  lighter细体  100~900数值(400正常,700 bold)   fo ...

  2. 1601: [Usaco2008 Oct]灌水

    1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 1342  Solved: 881 [Submit][S ...

  3. python 的正则表达式 贪婪模式与懒惰模式

    正则表达式中用于表示匹配数量的元字符如下: ? 重复0次或1次,等同于{0,1} * 重复0次或更多次,等同于{0,} + 重复1次或更多次,等同于{1,} {n,} 重复n次及以上 上面的表示匹配次 ...

  4. Android之XListView下拉刷新,更新网络美女图

    一.简介:   下拉刷新是一种特定的手动刷新交互,和其他的同类操作不同的地方在于它采用了更加直觉的下拉操作,所以它的交互足够清晰明显. 下拉刷新主要用在类似ListView这样的控件,设计下拉刷新有三 ...

  5. sqrt()平方根计算函数的实现2——牛顿迭代法

    牛顿迭代法: 牛顿迭代法又称为牛顿-拉夫逊方法,它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法.多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特 ...

  6. 使用gem安装jekyll错误记录

    准备在windows7上安装Jekyll, 安装好了Ruby和RubyDevKit之后,准备使用: $ gem install jekyll 安装jekyll,但是返回错误: ERROR: While ...

  7. 开源的.NET媒体文件操作组件TagLib#解析

    人生得意须尽欢 莫使金樽空对月.写博客都会在吃饭后,每次吃饭都要喝上二两小酒,写博客前都要闲扯,这些都是个人爱好,改不掉了,看不惯的人,还望多多包含一下,有相同爱好的同学,咱们可以一起喝着小酒一边吹牛 ...

  8. devcpp中很简单的排序

    之前学的东西,不知什么缺了,什么没缺,索性重头开始弄,用的是<啊哈!算法>. 排序很简单,小的可以选择死磕.直接贴一份代码. #include<iostream> #inclu ...

  9. .net做的exe和electron做的exe之间的通信问题

    目前工作遇到个问题: .net做的exe和electron做的exe,之间进行数据通信 目前找到两个相对方便的方法: 1.命名管道 ①.net命名管道资料: 进程间通信 - 命名管道实现 ②elect ...

  10. Intellij IDEA2016 注册码

    网上大多数关于Intellij IDEA2016的注册码多是同一个,如下 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1l ...