首页 > 编程语言 > JavaScript之流程控制

JavaScript之流程控制

时间:2023-08-12 18:33:31浏览次数:56  
标签:语句 控制 流程 JavaScript else case switch 执行 表达式



1 流程控制

                                                JavaScript之流程控制_整除


2 顺序流程空制

顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照(代码的先后顺序,依次执行)程序中大多数的代码都是这样执行的。



3 分支流程控制 if语句

3.1 分支结构

                                                JavaScript之流程控制_整除_02

3.2 if语句
3.2.1 语法结构
// 条件成立执行代码,否则什么也不做
if(条件表达式){
//条件成立执行的代码语句
}

语句可以理解为一个行为,循环语句和分支语句就是典型的语句。一个程席由很多个语句组成,一般情况下,会分成一个一个的语句。

3.2.2 执行流程

案例弹出一个输入框,要求用户输入年龄,如果年龄大于等于18岁,允许进网吧

案例分析:

  1. 弹出 prompt输入框,用户输入年龄,程序把这个值取过来保存到变量中
  2. 使用if 语句来判断年龄,如果年龄大于18就执行if 大括号里面的输出语句
3.3 if.....else语句(双分支语句)
3.3.1 语法结构
//条件成立 执行if 里面代码,否则执行else里面的代码
if(条件表达式)[
//[如果] 条件成立执行的代码
l else {
//[否则] 执行的代码
    }
3.3.2 执行流程

                                                JavaScript之流程控制_整除_03

案例2:判断闰年

接收用户输入的年份,如果式闰年就弹出闰年,否则弹出是平年。

案例分析:

  1. 算法:能被整除且不能整除100的为国年(如2004年就是年,1901年不是年)或者能够被 400整除的就是闺年
  2. 弹出prompt输入框,让用户输入年份,把这个值取过来保存到变量中
  3. 使用if 语句来判断是否是年,如果是年,就执行f大括号里面的输出语句,否则就执行else 里面的输出语句
  4. 一定要注意里面的且&&还有或者的写法,同时注意判断整除的方法是取余为0
var year = prompt('请输入年份:');
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            alert('您输入的年份是闰年');
        } else {
            alert('您输入的年份是平年');
        }
3.4 if else if 语句(多分支语句)
3.4.1 语法结构
//适合于检查多重条件
if(条件表达式1){
语句1;
}else if (条件表达式2) [
语句2;
} else if (条件表达式3) {语句3;公
..
} else (
//上述条件都不成立执行此处代码
    }
3.4.2 执行流程

                                                JavaScript之流程控制_整除_04

案例:判断学生成绩级别

要求:接收用户输入的分数,根据分数输出对应的等级字母A、B、C、D、E。 其中: 1.90分(含)以上,输出:A 2.80分(含)~ 90分(不含),输出: B 3.70分(含)~ 80分(不含),输出 :C 4.60分(含)~ 70分(不含),输出 : D 5.60分(不含)以下,输出:E

案例分析:

  • 按照从大到小判断的思路
  • 弹出prompt输入框,让用户输入分数,把这个值取过来保存到变量中
  • 使用多分支if else if 语来分别判断输出不同的值

4 三元表达式

三元表达式也能做一些简单的条件选择,有三元运算符发的式子称为三元表达式。

案例: 数字补0

用户输入数字,如果数字小于10,则在前面补0,比如001,09,如果数字大于10,则不需要补,比如20.

案例分析:

  • 用户输入0~59之间的一个数字
  • 如果数字小于10,则在这个数字前面补0,( 加0)否则 不做操作
  • 一个变量接受这个返回值,输出

5 分支流程控制 switch语句

switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用switch。

5.1 语法结构
switch( 表达式 ){
case value1:
//表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式等于 value2 时要执行的代码
break;
default:
//表达式不等于任何一个 value 时要执行的代码
}

案例:查询水果

案例分析:

  • 弹出 prompt输入框,让用户输入水果名称,把这个值取过来保存到变量中
  • 将这个变量作为switch括号里面的表达式。
  • case 后面的值写几个不同的水果名称,注意一定要加号,因为必须是全等匹配
  • 弹出不同价格即可。同样注意每个case 之后加上 break,以便退出switch 语句。
  • 将default设置为没有此水果。
var fruit = prompt('请输入需要查询的水果');
        switch (fruit) {
            case '苹果':
                alert('苹果的价格为3.5元/斤');
                break;

            case '榴莲':
                alert('榴莲的价格为35元/斤');
                break;

            case '梨':
                alert('梨的价格为15元/斤');
                break;

            case '葡萄':
                alert('葡萄的价格为25元/斤');
                break;

            default:
                alert('这里没有你需要查询水果的价格');
        }
5.2 switch 语句和 if else if 语句的区别
  1. 一般情况下,它们两个语句可以相互替换
  2. switch...ase 语句通常处理case为比较确定值的情况,而if...else...语句更加灵活,用于范围判断(大于 等某个范围)
  3. switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而if..else语有几种条件,就得判断多少次。
  4. 当分支比较少时,if...else语句的执行效率比switch语句高
  5. 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰



标签:语句,控制,流程,JavaScript,else,case,switch,执行,表达式
From: https://blog.51cto.com/u_15912723/7060807

相关文章

  • 前端JavaScript高频面试题
    一、js基本概念1.HTML语义化理解?得分点:语义化标签,利于页面结构化,利于没有css页面也可读,利于SEO,利于代码可读标准答案:在使用html标签构建页面时,避免大篇幅的使用无语句的标签2.说一说盒模型?得分点:标准盒模型、怪异盒模型(box-sizing:border-box;)、盒模型大小标准答案:标......
  • 独特的控制码学习功能,可自行修改控制码指令控制键盘
    新推出的高清视频会议控制键盘(控制器),采用工业四维精密摇杆,采用RJ45、RS422、RS485、RS232多种控制接口,最多可接255个摄像机;独特的控制码学习功能,可以自行修改控制码指令;所有摄像机参数均可通过按键操作程序完成设置;金属壳体,硅胶按键设计;液晶中英文显示,带按键声音提示,实时显示解码......
  • 条件控制语句
    条件控制语句if~~else案例importjava.util.Scanner;publicclassIf{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.println("请输入你的年龄"); intage=input.nextInt(); if(age>18){ System.out.pri......
  • C C++ Java python HTML/CSS/JavaScript
    C/C++是一种底层的语言,它可以直接操作内存和硬件,运行速度很快,但是也很难学习和调试,容易出错。Java是一种面向对象的语言,它可以跨平台运行,有很多成熟的框架和库,适合做大型的企业级应用,但是也很繁琐和冗长,需要写很多代码。Python是一种高级的语言,它可以用简洁的语法来实现复杂的功能......
  • How to set z-index order in Canvas using javascript All In One
    Howtosetz-indexorderinCanvasusingjavascriptAllInOne如何使用javascript在Canvas中设置z-index顺序globalCompositeOperation//全局作用域globalscopeconstcvs=document.querySelector("#canvas");constctx=canvas.ge......
  • 访问网站慢处理方法,思路流程
    chrome浏览器F12点Network 查看载入时间禁用缓存Disablecache超过几百毫秒,就需要分析了右面绿条越长加载时间越长有的边长了会变红 发黑ping不通服务宕机 机房宕机 服务过载ping通不丢包服务宕机 机房宕机 服务过载ping的通但是断断续续的丢包比如10次只有5次通......
  • gitee仓库创建和操作系统安装流程
    创建Gitee账号和仓库1、官网:https://gitee.com/创建好账号,然后登录账号2、流程点击创建仓库填写仓库信息创建好仓库后点击仓库主页的管理在管理中自行选择是否开源创建好仓库后:点击自己主页设置,配置SSH秘钥点击设置按钮跳转到主页,然后点击红色箭头的SSH秘钥配......
  • Python 访问控制
    Python访问控制Java中采用public,protected,private等修饰符来控制访问,Python则采用命令约定来控制访问,一个下划线_开头表示保护方法,两个下划线__开头表示私有方法Python使用@property和propertysetter来控制属性的访问importpytestclassTask:def__in......
  • 【面试题】 JavaScript中高级语法--?? 表达式 的作用
    前言在JavaScript中,双问号(??)表达式是一种非常有用的方法。它的作用是用来检测一个值是否为null或undefined。如果该值为null或undefined,那么双问号表达式会返回一个默认值。下面我们就来具体探究一下双问号表达式的用法,以及它与其他相似方法的区别。具体用法。其实,双问号表达式就是......
  • HDFS工作流程与机制
    1、各个角色的职责主角色:NameNode从而,NameNode成为了访问HDFS的唯一入口从角色:DataNode主角色辅助角色:SecondaryNameNodeNameNode职责:DataNode职责:2、HDFS写数据流程(上传文件)流程图:PipeLine管道:HDFS文件系统的一种数据传输方式ACK应答响应:确认字符(计算机网络相......