4.1 if语句

如果……否则……  , 让程序出现分支

1        <script type="text/javascript">

2           var a = 8;

3           if(a >= 60){

4               alert("及格了");

5           }else{

6               alert("不及格");

7           }

8        </script>

语法:

1    if(测试表达式){

2        测试表达式为真执行的语句

3    }else{

4        测试表达式为假执行的语句

5    }

if英语里面的如果的意思,else就是否则的意思。else不要拼写为eles。

在语法层面有两个特例:

① 可以没有else部分

1    var a = 1;

2    if(a >= 60){

3        alert("及格了");

4    }

② 如果要执行的语句,只有一行语句,那么就是单行if,就可以省略大括号。

1           var a = 112;

2           if(a >= 60)

3               alert("及格了");

4           else

5               alert("不及格");

// 最基本的if语句
// var a = 8;
// if(a >= 60){
// alert("及格了");
// }else{
// alert("不及格");
// } // 可以省略else部分
// var a = 1;
// if(a >= 60){
// alert("及格了");
// } // 如果结构体中只有单行语句,那么可以省略大括号
// var a = 112;
// if(a >= 60)
// alert("及格了");
// else
// alert("不及格"); // 搞清楚哪些语句在结构体中,哪些不在
var a = 77;
if(a > 30){
console.log("哈哈");
console.log("嘻嘻");
console.log("呵呵");
}else{
console.log("纳尼");
console.log("呸呸")
}
console.log("么么哒"); //一定执行,因为在if结构体外面。

注意if语句是一个结构体,注意哪些语句是在结构体中,哪些语句不是结构体:

1           var a = 355;

2           if(a > 30){

3               console.log("哈哈");

4               console.log("嘻嘻");

5               console.log("呵呵");

6           }else{

7               console.log("纳尼");

8               console.log("呸呸")

9           }

10          console.log("么么哒");  /*一定会执行,在if结构体外面*/

如果a是3,不满足条件:

小练习:用户输入一个年龄,判断用户能不能考取驾照。交规说: 大于等于18,小于等于70才能考取驾照。

1           //让用户输入年龄

2           var age = parseInt(prompt("请输入年龄"));

3           //判断

4           if(age >= 18 && age <= 70){

5               alert("可以考取驾照");

6           }else{

7               alert("年龄不符合要求");

8           }

9           alert("谢谢惠顾");

//让用户输入年龄
var age = parseInt(prompt("请输入年龄"));
//判断
if(age >= 18 && age <= 70){
alert("可以考取驾照");
}else{
alert("年龄不符合要求");
}
alert("谢谢惠顾");

多分支的if

if……else if …… else if…… else if…… else ……

如果……否则如果……否则如果……否则如果……否则……

跳楼现象,用户会选择一个分支执行(跳楼),选择这个分支了,就暗含了上一个分支没有满足:

1   
       var
score = 76;

2

3   
       if(score
>= 85){

4   
           alert("优秀");   //不满足条件,所以不执行,走楼梯下楼

5   
       }else
if(score >= 70){

6   
           alert("良好");   //走到这个楼层的,一定暗含小于85。这一楼层满足,跳楼了

7   
       }else
if(score >= 60){

8   
           alert("及格");  //不执行

9   
       }else{

10  
           alert("不及格")  //不执行

11  
       }

语法:

1   
if(测试表达式1){

2   
    测试表达式1为真的时候做的事情

3   
}else if(测试表达式2){

4   
    测试表达式1为假,且测试表达式2为真的时候做的事情

5   
}else if(测试表达式3){

6   
    测试表达式1为假,测试表达式2为假,且测试表达式3为真的时候做的事情

7   
}

8   
……

// var score = 66;

        // if(score >= 85){
// alert("优秀");
// }else if(score >= 70){
// alert("良好");
// }else if(score >= 60){
// alert("及格");
// }else{
// alert("不及格")
// } //错误的写法!
// var score = 100;
// if(score >= 0){
// alert("不及格");
// }else if(score >= 60){
// alert("及格");
// }else if(score >= 75){
// alert("良好");
// }else(score >= 85){
// alert("优秀");
// } // var score = 100;
// if(score <= 60){
// alert("不及格");
// }else if(score <= 75){
// alert("及格");
// }else if(score <= 85){
// alert("良好");
// }else{
// alert("优秀");
// } //语句且"仅"会选择一条路走。
var a = 6;
if(a < 8){
a = a + 3; //a<8条件满足,所以执行,跳楼!
}else if(a == 9){
a = a + 4; //不执行
}else if(a == 13){
a = a + 5; //不执行
}else if(a == 18){
a = a + 6; //不执行
}
console.log(a); //

if语句的嵌套:

用户先输入自己的性别,比如男、女。然后输入自己的年龄。判断能否结婚。

男的22以上

女的20以上

if语句可以嵌套,如果里面再套一层如果:

1   
       //判断

2   
       if(sex == ""){

3   
           //

4   
           if(age >= 22){

5   
              alert("男同志你好,可以结婚");

6   
           }else{

7   
              alert("你还是个小正太,不能结婚!");

8   
           }

9   
       }else{

10  
           //

11  
           if(age >= 20){

12  
              alert("女同志你好,可以结婚");

13  
           }else{

14  
              alert("你还是个小萝莉,不能结婚!");

15  
           }

16  
       }

楼层中else只能有一个。 else if可以有多个。

//用户先输入自己的性别,比如男、女。然后输入自己的年龄。判断能否结婚
//先输入性别
var sex = prompt("请输入性别","男");
var age = parseInt(prompt("请输入年龄")); // //判断
if(sex == "男"){
//男
if(age >= 22){
alert("男同志你好,可以结婚");
}else{
alert("你还是个小正太,不能结婚!");
}
}else if(sex == "女"){
//女
if(age >= 20){
alert("女同志你好,可以结婚");
}else{
alert("你还是个小萝莉,不能结婚!");
}
}else{
alert("你输入的不是正确的性别!!");
} //方法2:
// if(sex == "男" && age >= 22){
// alert("男同志你好,可以结婚");
// }else if(sex == "男" && age < 22){
// alert("你还是个小正太,不能结婚!");
// }else if(sex == "女" && age >= 20){
// alert("女同志你好,可以结婚");
// }else if(sex == "女" && age < 20){
// alert("你还是个小萝莉,不能结婚!");
// }

前端——JavaScript之if语句的更多相关文章

  1. python学习之路前端-JavaScript

    JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本 ...

  2. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  3. JavaScript中if语句优化和部分语法糖小技巧推荐

    前言 在前端日常开发过程中,if else判断语句使用的次数应该是比较频繁的了,一些较为复杂的场景,可能会用到很多判断,在某个代码块使用很多if else时,代码会显得较为冗余,阅读起来不够清晰. 除 ...

  4. JavaScript If...Else 语句

    JavaScript If...Else 语句 JavaScript的开头和结束标签: <script type="text/javascript"></scri ...

  5. 前端JavaScript规范

    前端JavaScript规范 http://www.imooc.com/article/1402 http://greengerong.com/blog/2015/05/09/qian-duan-ja ...

  6. 实例演示 kino.razor (前端 Javascript 模板工具,Razor 风格)的使用

    前言 对于习惯了 ASP.NET MVC Razor 模板引擎的人来说,比如我,一直在寻找前端 Javascript 端的 Razor 模板工具.这之前,我也了解到很多Javascript 端的模板工 ...

  7. 在C#后端处理一些结果然传给前端Javascript或是jQuery

    在C#后端处理一些结果然传给前端Javascript或是jQuery,以前Insus.NET有做过一个例子<把CS值传给JS使用 >http://www.cnblogs.com/insus ...

  8. JavaScript的循环语句

    JavaScript的循环语句 1.JavaScript的循环语句 (1)for循环语句 - 循环代码块一定的次数: (2)for/in循环语句 - 循环遍历对象的属性: (3)while循环语句 - ...

  9. JavaScript的条件语句

    JavaScript的条件语句 1.JavaScript的条件语句包括以下几个 (1)if - 只有当指定条件为true时,使用该语句来执行代码: (2)if...else - 当指定条件为true时 ...

随机推荐

  1. centos7.4 调整根目录大小

    由于系统初始时根目录一般空间为50左右 有时会被占满,而/home目录却有大量空间 这里需要调整: 1.终止占用 /home 进程 fuser -m -v -i -k /home​ 2.备份/home ...

  2. Delphi编程之好用的三方控件

    Delphi的强大与其庞大的组件库息息相关,目前的XE10.1版本已自带FastReport和GDI+等,下面我们来看一下几个非常强大且实用的组件库 一.DevExpress套件 Dev包含Grid. ...

  3. Netty 基本组件与线程模型

    Netty 的学习内容主要是围绕 TCP 和 Java NIO 这两个点展开的,由于 Netty 是基于 Java NIO 的 API 之上构建的网络通讯框架,Java NIO 中的几个组件,都能在 ...

  4. cocos2dx翻牌效果示例

    实现类似翻扑克牌的效果 代码如下: OrbitCamera* rotate1; OrbitCamera* rotate2; if(towardRight){//向右翻转 rotate1=OrbitCa ...

  5. vue打包后接口报错

    最近自己和朋友做了一个小的项目,用的是vue3.x版本,本地dev运行的时候接口什么的都是正常的,但是build打包后本地使用anywhere启动一个本地服务的时候发现接口报错405状态,发布到线上接 ...

  6. 2018.11.25 AMC-ICPC 亚洲区域赛(焦作站)吊银

    11月23日 大清早,跟着wyb的脚步,早起跑过去听方伟的编译原理,然鹅一点都没听进去,在焦作胡辣汤群里疯狂灌水... 听说焦作那边冷得不行,前一天看天气预报说那边已经是2℃了,都快零下了,然鹅学校里 ...

  7. Java基于opencv—归一化

    Opencv中提供了resize函数,可以把图像调整到相同大小 Java中resize函数的声明,内部调用的都是native方法 public static void resize(Mat src, ...

  8. Vue基础之数据绑定

    我们学习一门新语言或者框架时,第一件事是什么呢,那必然是向世界say Hello. 创建一个Vue应用 话不多说,先上代码,让我们感受一下Vue的核心功能 <!DOCTYPE html> ...

  9. 贴图平移&凹凸贴图偏移

      1. 平移(UV坐标动画) UV 坐标动画或 UV 平移的含义是,水平 (U) 和/或垂直 (V) 移动纹理的 UV 坐标,以产生复杂动画的错觉. 在以下示例中,火焰纹理沿着 U(水平)方向平移, ...

  10. ELK 起航

    ELK与我 我在2017年8月份第一次听说ELK并搭建了一次,当时看到KIBANA页面超级炫酷非常激动.现在已经过去了四个月了,现在的情况不像刚开始哪有无知了.现在是要应用到实际的项目中.首先说一下整 ...