Javascript(三):控制流

标签: 学习
31人阅读 评论(0) 收藏 举报
分类:

       根据上一节 Javascript(二):变量 的学习,个人感觉js中变量的定义还是挺简单的,只用到了关键词var就可以解决。本节继续学习js的语法中的控制流如何使用,也就是条件的判断,针对某一种情况执行特定的代码。

第一种:if/else条件语句判断

基本语法:if(条件){  };

                else{  };

当条件为真时,执行if后面括号中的内容;条件为假,执行else后面括号中的内容。

例如,在js文件中输入如下代码:

var insa=true;
if(insa){
    console.log(typeof "asdfsda");
}
else {
    console.log('asdfsda');
}

执行后,会返回string,也就是执行了if后面大括号中的内容,返回了字符串asdfsda的类型。

在这里插一个小插曲:我在执行如上代码时,浏览器中开发者工具的控制台返回SCRIPT7002: XMLHttpRequest: 网络错误 0x80700013。


如果你也遇到同样的问题,请看我的另一篇博客:XMLHttpRequest:网络错误 0x80700013解决方法

继续回到学习主题。如果代码向上述一样,if/else后面的大括号中,如果只有一条语句,那么大括号可以省略不写。

除了上面例子中的条件类型为true/false时,会执行条件判断,还有其他的值的类型也会被执行。在js中,有一些值会被默认为false:①数字零(0);②空字符串(‘ ’);③不是一个数(NaN);④空(null);⑤未定义(undefined)。

第二种:switch/case条件语句判断 

if/else语句是用于条件二分时的判断,当条件变多时,不断的在if条件中嵌套if/else语句会显得比较臃肿:

if(周一){吃炒面;}
else{
      if(周二){吃炒饭;}
      else{
            if(周三){吃炒米粉;}
            else{..............}
           } 
}//这只是为了理解的一段伪代码,不可以执行成功

改进办法:可以用else if来代替else里面不断的去嵌套if/else语句:

if(周一){吃炒面;}
else if(周二){吃炒饭;}
else if(周三){吃炒米粉;}
....

其实,当条件判断结果的分支很多时,使用switch/case语句进行判断会变得更加紧凑:

var day = 2
switch (day){
    case 1:console.log('吃炒面');
    case 2:console.log('吃炒饭');
    case 3:console.log('吃炒米粉');
}

注意,按上述代码的写法,当在switch中找到匹配项后,还会一直往下执行代码,输出匹配项之后的内容,按上述代码执行,返回结果如下:


这就是因为,在这里,day匹配的case是2,找到匹配项后,执行case2后面的内容,同时因为在case2后面没有跳出判断的条件,程序会继续向下执行。在这里,就需要使用break,判断条件执行成功时,就跳出条件语句

var day = 2
switch (day){
    case 1:console.log('吃炒面');break;
    case 2:console.log('吃炒饭');break;
    case 3:console.log('吃炒米粉');break;
}

执行结果如下:


在switch中还有一个关键词default,当在switch条件判断中找不到匹配项,就默认执行default: 后面的内容




查看评论

js三大流程控制

1.顺序控制 2.分支控制 分支控制  if  else var sex=window.prompt("请输入性别");   if(sex=="男"){       ...
  • lf1218
  • lf1218
  • 2016-04-20 11:10:42
  • 4296

javascript复习笔记(一)js基础,基本语法,数据类型,控制流程

(一)需要注意的基本语法: 1.javascript严格区分大小写。 2.关于标示符,即变量,函数名,参数等的命名,惯例ECMAScript采用驼峰法表示(建议)。 3.注释: //这是一个单...
  • Four_One_O
  • Four_One_O
  • 2014-12-24 20:53:57
  • 554

漫谈程序控制流

JS的generator可以玩魔法!! 不过,程序的世界,并没有无根之木、无源之水。让我们回溯本源,探一探各种高阶流程控制结构(比如continuation, coroutine)的来龙去脉...
  • ebay
  • ebay
  • 2015-08-11 14:51:22
  • 1242

《深入理解计算机系统》异常控制流——读书笔记

控制流: 异常控制流:
  • zhanghaodx082
  • zhanghaodx082
  • 2013-10-05 20:35:32
  • 3167

控制流和数据流

数据流 数据流——描述程序运行过程中数据的流转方式及其行为状态 在MVC模型中,Model层的本质就是“数据”,数据在MVC的各个构成要素中流转并且在不同的层次扮演着不同的角色。当程序运行起来之后...
  • keMuYing
  • keMuYing
  • 2018-03-06 00:04:48
  • 109

控制流迷惑——控制流整平(反逆向工程)

一、控制流整平的作用     学逆向的人都知道,if-else、while、for具有典型的跳转等结构,即使通过多层嵌套、拓展条件等方法,依然可以通过“切片技术”来判断。有了这些依据,就给程序分析带...
  • WHACKW
  • WHACKW
  • 2016-01-06 22:49:54
  • 506

Java控制流语句总结

---------------------- android培训、java培训、期待与您交流! ---------------------- 黑马程序员——Java控制流语句总结  java控...
  • baipeijie520
  • baipeijie520
  • 2011-12-12 17:59:21
  • 1121

C#学习笔记 控制流

C#学习笔记 控制流
  • u011054333
  • u011054333
  • 2015-11-02 22:30:45
  • 469

【ife】任务十五:零基础JavaScript编码(三)

任务十五:零基础JavaScript编码(三) 北京空气质量:90 上海空气质量:70 天津空气质量:80 广州空气质量:50 深圳空气质量:40 福...
  • zhouziyu2011
  • zhouziyu2011
  • 2016-12-25 19:26:38
  • 217

浅谈Python的控制流

最早接触Python是听说它被称为最强脚本语言,好奇什么养的东西称得上是“最强”。  其实在国外的教学中Python是排在C之前的,现在正值假期,与一C9院校的哥们谈到这件事,他们在大一就开这门课程,...
  • Irean_Lau
  • Irean_Lau
  • 2015-01-24 14:15:57
  • 1017
    个人资料
    等级:
    访问量: 389
    积分: 107
    排名: 110万+
    文章存档