JavaScript控制语句和函数的使用

news2025/1/12 5:00:21

文章目录

  • 前言
  • 一、控制语句
    • 1.if条件语句
    • 2.switch多分支语句
    • 3.for循环语句
    • 4.while循环语句
    • 5.do...while循环语句
    • 6.break 与 continue 关键字
  • 二、函数
    • 1.函数的定义
    • 2.函数的调用
  • 总结

前言

        JavaScript 的控制语句和函数的使用,基本上同理于 Java。该篇文章主要展示如何将这些内容以实操的形式展示出来,JavaScript 和 Java 之间的应用场景还是有所不同的。


一、控制语句

        流程控制语句对于任何一门编程语言都是十分重要的。

1.if条件语句

        if 条件判断语句是最基本、最常用的流程控制语句,可以根据条件表达式的值来执行相应的处理。语法格式如下:

<script>
    if(expression){
        statement 1
    }else{
        statement 2
    }
</script>

        express :必填项,用于指定表达式,可以使用逻辑运算符。

        statement 1 :用于指定要执行的语句序列,当 express 的值为 true 时,执行该语句。

        statement 2 :用于指定要执行的语句序列,当 express 的值为 false 时,执行该语句。

        这里就不多介绍了,Java的各种 if 语句格式,在这里完全适用。

        需求:在界面中输入用户的账号和密码时,验证用户的登陆信息。

        实操:

<form name="form1" method="post" action="">
    用户名:<input name="user" type="text" id="user">
    密码:<input name="pwd" type="text" id="pwd">
    <input name="Button" type="button" class="btn_grey" value="登录" onclick="check()">
    <input name="Submit2" type="reset" class="btn_grey" value="重置">
</form>
      
<script>
    function check(){
        if(form1.user.value==""){
            //判断用户名是否为空
            alert("请输入用户名!");
            form1.user.focus();
            return;  
        }else if(form1.pwd.value==""&&form1.user.value!=""){
            //判断密码是否为空
            alert("请输入密码!");
            form1.pwd.focus();
        }else{
            from1.submit();
        }
    }
</script>

        构造了一个 check() 函数使用了 if 语句。 

        运行结果:

 

        同Java语言一样,JavaScript 的 if 语句也可以嵌套使用。

2.switch多分支语句

        switch 是典型的多分支语句,其用法和嵌套使用 if 语句基本相同,但 switch 语句比 if 语句更加具有可读性,而且 switch 语句允许找不到一个匹配条件的情况下执行默认的一组语句。语句的语法格式如下:

switch(expression){
    case judgement1:
            statement1;
            break;
    case judgement2:
            statement2;
            break;
    ...
    case judgementn:
            statementn;
            break;
    default:
            statement;
            break;
}

        expression:任意的表达式或变量。

        judgement:任意的常数表达式。当 expression 的值与某个 judgement 的值相等时,就执行此 case 后的 statement 语句;如果与所有的 judgement 都不相等,则执行 default 后面的 statement 语句。

        break:用于结束 switch 语句。

        需求:如同下方壁纸,在不同的时间点,提示用户不同的消息。例如,时间为早上,输出早上好等消息,可自定义。

         实操:在模拟的工作网站上方添加一个小机器人根据时间来给打工人解闷。

<script>
    var robot = "小浩机器人:";
    var date = new Date();
    document.write("当前时间是:" + date + "<br><br>");
    var value = date.getHours();
    
    switch (true) {
        case (value >= 6 && value < 10):
            document.write(robot + "早上好!");
            break;
        case (value >= 10 && value < 12):
            document.write(robot + "在认真上班吗?");
            break;
        case (value >= 12 && value < 14):
            document.write(robot + "你吃了吗?");
            break;
        case (value >= 14 && value < 18):
            document.write(robot + "忙起来就快下班了,加油!");
            break;
        default:
            document.write(robot + "看看是哪个大怨种还在加班 :p");
            break;
    }
</script>

        运行结果:

         在程序开发的过程中,使用 if 语句还是使用 switch 语句可以根据实际情况而定,尽量做到因地适宜。不要因为 switch 语句的效率高,或者 if 语句最常用而对某个语句厚此薄彼。

3.for循环语句

        for 循环语句也称为计次循环语句,一般用于循环次数已知的情况,在 JavaScript 中应用比较广泛。语法格式如下:

for(initialize;test;increment){
    statement
}

        initialize:初始化语句,用于对循环变量进行初始化赋值。

        test:循环条件,一个包含比较运算符的表达式,用于限定循环变量的边界。超过边界,则停止循环。

        increment:用来指定循环变量的步幅。

        statement:用于指定循环体,test的条件判断为 true ,则重复执行该 statement语句。

        需求:某小区有五百个停车位,为了避讳,除去车位中所有含 4 的车位号(删除后多出空余车位无号不用管)。

        实操:

<html>
    <head>
        <title>网站</title>
    </head>
    <body>
        <script>
            var x = 0;
            var y = 0;
            var z = 0;
            var h = 0;
            document.write("删掉含“ 4 ”的车位号如下:<br>");
            for (x = 0; x <= 5; x++) {
                for (y = 0; y <= 9; y++) {
                    for (z = 1; z <= 9; z++) {
                        h = 100 * x + 10 * y + z;
                        if (y != 4 && z != 4 && h < 100) {
                            document.writeln("0" + y + z);
                        } else if (x != 4 && y != 4 && z != 4 && h <= 500) {
                            document.writeln(h);
                        }
                    }
                }
            }
            document.write("\n 500");
        </script>
    </body>
</html>

        在使用 for 语句时,一定要保证循环可以正常结束,即保证循环条件的结果有中止的情况,否则循环体将无休止地执行下去,从而形成死循环。

        for(int i=1;i>=1;i++){

                alert(i);        

        }

        //i本身大于1,一直自增,只会不断循环。

        运行结果:

4.while循环语句

        while循环语句也被称为前测试循环语句(先判断后执行),该语句通过一个条件来控制是否要继续重复执行这个语句。该语句的语法格式如下:

while(expression){
    statement
}

        expression:一个包含比较运算符的条件表达式,用于指定循环条件。

        statement:用来指定循环体,在循环条件的结果为true时,重复执行。

        需求:列举10以内的质数。

        实操:

<script>
    var i = 0;
    document.write("10以内的质数:<br>");
    while(i<10){
        i++;
        if(i%2!=0 && i%3!=0 && i%5!=0 && i!=1 || i==2 || i==3 || i==5){
            document.writeln(i);
        }
    }
</script>

         使用 while 语句时,也要保证循环可以正常结束,即必须保证条件表达式的值存在中止的情况,否则将出现死循环。

        var i=1;

        while(i<=100){

                alert(i);

        }

        //i值一直是小于100的定值,该循环会不断循环。        

        运行结果:

5.do...while循环语句

        do...while 循环语句也被称为后测试循环语句(先执行后判断)。和 while 循环语句不同的是,该语句会先执行一次循环语句,然后再去像 while 语句一样判断是否继续循环执行语句。该语句的语法格式如下:

do{
    statement;
}while(expression);

        statement:用来指定循环体,循环体首先被执行一次,之后循环条件为 true 时,重复执行。

        expression:一个包含比较运算符的条件表达式,用来指定循环条件。

        需求:列举10以内的质数。

        实操:

<script>
    var i = 0;
    document.write("10以内的质数:<br>");
    do{
        i++;
        if(i%2!=0 && i%3!=0 && i%5!=0 && i!=1 || i==2 || i==3 || i==5){
            document.writeln(i);
        }
    }while(i<10);
</script>

         do...while 循环语句中的循环体至少被执行一次。

        运行结果:

6.break 与 continue 关键字

        break 与 continue 关键字都可以用于跳出循环。不同的是,在非嵌套语句的情况下,break 是终止当前所在的循环,并且程序会继续执行循环之后的代码;continue 是中止此次循环,该循环语句开始下一轮循环。

        (1)break 关键字

break;

         break 语句通常用在 for、while、do...while 或 switch 语句中。

         实操:使用 break 关键字中断循环。

<script>
    var i = 0;
    document.write("10以内的质数:<br>");
    do{
        i++;
        if(i%2!=0 && i%3!=0 && i%5!=0 && i!=1 || i==2 || i==3 || i==5){
            document.writeln(i);
        }
        if(i==5){
            break;
        }
    }while(i<10);
</script>

        i 值为 5 时中止了循环。 

        运行结果:

        (2)continue 关键字

continue;

        continue 语句只能应用在 while、for、do...while 和 switch 语句中。

          实操:使用 continue 关键字中断循环。

<script>
    var i = 0;
    document.write("10以内的质数:<br>");
    do{
        i++;
        if(i==5){
            continue;
        }
        if(i%2!=0 && i%3!=0 && i%5!=0 && i!=1 || i==2 || i==3 || i==5){
            document.writeln(i);
        }
        
    }while(i<10);
</script>

        当 i 值等于 5 时,continue中断了此次循环,开启了下一次循环。 但如果循环条件的结果是 false,则退出循环。

         运行结果:

二、函数

        函数的实质,就相当于 Java 的方法。通过调用函数(方法)可以使代码更加简洁,提高代码的重用性。

1.函数的定义

        JavaScript 的函数由关键字 function、函数名加上一组参数以及放置于大括号中需要执行的代码组成。函数的基本语法如下:   

function functionName(parameter1,parameter2,...){
    statements;
    return expression;
}

        functionName:函数名。在同一页面中,函数名必须是唯一的,并且区分大小写。

        parameter:参数列表。当使用多个参数时,参数间使用逗号进行分隔。一个函数最多可有255个参数。

        statement:函数体。用于实现函数功能的语句。

        expression:返回函数值。expression 为任意表达式、变量或常量(该 return 语句可不写)。

        举例:定义一个计算某个商品的总价的函数,两个参数,指定单价和商品个数,返回值为总价。

function account(price,number){
    var sun=price*number;
    return sum;
}

2.函数的调用

        不带参数的函数,使用函数名加上括号即可;如果要调用的函数带参数,则在括号中加上需要传递的参数;如果包含多个参数,各个参数用逗号分隔。

        如果函数有返回值,可以使用赋值语句将函数值赋给一个变量。

        需求:创建一个自定义函数 check() ,让用户在输入账号和密码的时候,若没有填写进行提示。

        实操:

<form name="form1" method="post" action="">
    用户名:<input name="user" type="text" id="user">
    密码:<input name="pwd" type="text" id="pwd">
    <input name="Button" type="button" class="btn_grey" value="登录" onclick="check()">
    <input name="Submit2" type="reset" class="btn_grey" value="重置">
    <!--onclick属性调用了 check() 函数-->
</form>
    
      
<script>
    function check(){
        if(form1.user.value==""){
            //判断用户名是否为空
            alert("请输入用户名!");
            form1.user.focus();
            return;  
        }else if(form1.pwd.value==""&&form1.user.value!=""){
            //判断密码是否为空
            alert("请输入密码!");
            form1.pwd.focus();
        }else{
            from1.submit();
        }
    }
</script>

        该实例中,input 标签中的 onclick 属性调用了 check() 函数。JavaScript 中,由于函数名区分大小写,在调用函数时也要注意区分函数名的大小写。

        运行结果:

        没有输入密码, onclick 属性调用了 check() 函数,做出了相应的反馈。


总结

        以上就是 JavaScript 的控制语句和函数的介绍,本文供要回顾使用 JavaScript 代码同学简单看一眼,有补充或者指正的内容,欢迎在评论区中留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2131242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣之1783.大满贯数量

文章目录 1. 1783.大满贯数量1.1 题干1.2 建表1.3 题解1.4 结果截图 1. 1783.大满贯数量 1.1 题干 表&#xff1a;Players ----------------------- | Column Name | Type | ----------------------- | player_id | int | | player_name | varchar | ----------------------…

深度学习实战89-基于改造后的长短期记忆网络LSTM 的猪肉价格预测模型研究

大家好,我是微学AI,今天给大家介绍一下深度学习实战89-基于改造后的长短期记忆网络LSTM 的猪肉价格预测模型研究。本文围绕基于改造后的长短期记忆网络 LSTM 的猪肉价格预测模型展开研究。首先介绍项目背景,阐述进行猪肉价格预测的重要性。接着详细讲解改造后的 LSTM 模型原…

LibSVM介绍及使用

介绍 LibSVM 是一个广泛使用的开源库&#xff0c;用于支持向量机&#xff08;SVM&#xff09;的实现。它由台湾大学的 Chih-Chung Chang 和 Chih-Jen Lin 开发。LibSVM 提供了一种简单易用的接口&#xff0c;支持多种 SVM 变体&#xff0c;包括分类、回归和分布估计。以下是一些…

【数据库】MySQL-基础篇-事务

专栏文章索引&#xff1a;数据库 有问题可私聊&#xff1a;QQ&#xff1a;3375119339 目录 一、事务简介 二、事务操作 1.未控制事务 1.1 测试正常情况 1.2 测试异常情况 2.控制事务一 1.1 查看/设置事务提交方式 1.2 提交事务 1.3 回滚事务 3.控制事务二 1.1 开启事…

C++ namespace(域)

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;C系统性学习_Jason_from_China的博客-CSDN博客 namespace的价值 避免命名冲突&#xff1a;在大型项目或使用多个库的情况下&#xff0c;不同部分可能会定义相同名称的实体&#xff08;如变量、函数、类等&a…

fpga系列 HDL:简化的FIFO实现

CODE 下面是一个简化的FIFO实现示例&#xff0c;基于Verilog HDL&#xff1a; module fifo (input wire clk, // 时钟信号input wire reset, // 异步复位信号input wire wr_en, // 写使能信号input wire rd_en, // 读使能…

CSS中的位置定位总结

文章目录 静态定位相对定位绝对定位固定定位 静态定位 静态定位(position:static)/默认的文档流布局 块级元素按照书写顺序从上往下依次排列行内/行内块元素按照书写顺序从左到右依次排列&#xff0c;一行放不下才换行文档流中的元素都是紧密排布的&#xff0c;没有大的空隙&…

【机器学习】9 ——最大熵模型的直观理解

系列文章目录 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前奏例子硬币垃圾邮件代码 前奏 【机器学习】6 ——最大熵模型 例子 硬币 假设我们有一枚硬币&#xff0c;可能是公平的&#xff0c;…

哪些软件可以监控电脑屏幕?四款优秀的屏幕电脑监控软件

你是否曾好奇&#xff0c;员工们在电脑前的忙碌究竟是在提高公司业绩&#xff0c;还是在成为“网上冲浪”高手&#xff1f; 或者&#xff0c;作为家长&#xff0c;你是否想知道孩子们的学习状态是如火如荼&#xff0c;还是在和游戏“斗智斗勇”&#xff1f;不管是办公还是家庭…

图纸加密软件哪个最好用?2024年好用的6款图纸加密软件分享!好用不踩雷!

某知名设计公司的年度发布会上&#xff0c;管理层突然被一个坏消息打断——公司的一份核心图纸被泄露到互联网上&#xff0c;导致重要的合作项目搁浅&#xff0c;直接损失数百万。 这样的事件不是个例&#xff0c;为此&#xff0c;很多企业意识打破图纸加密对保护企业知识产权和…

机械设计基础知识---材料硬度

一、定义 硬度&#xff0c;物理学专业术语&#xff0c;材料局部抵抗硬物压入其表面的能力称为硬度。固体对外界物体入侵的局部抵抗能力&#xff0c;是比较各种材料软硬的指标。由于规定了不同的测试方法&#xff0c;所以有不同的硬度标准。各种硬度标准的力学含义不同&#xf…

业务资源管理模式语言13

解决方案&#xff1a; 创建一个与“Resource”类相关的“Resource Delivery”类来控制资源交付的确认过程。因为交货是与交易相关的&#xff0c;“Resource”类与“Resource Delivery”类是“1 to 1”关系。如果你采用了子模式“Resource Measurement”或者采用了“ItemizeThe…

动手学深度学习(pytorch土堆)-04torchvision中数据集的使用

CIFAR10 CIFAR-10 数据集由 10 个类的 60000 张 32x32 彩色图像组成&#xff0c;每个类有 6000 张图像。有 50000 张训练图像和 10000 张测试图像。 数据集分为 5 个训练批次和 1 个测试批次&#xff0c;每个批次有 10000 张图像。测试批次包含每个类中随机选择的 1000 张图像…

Unity 给模型贴上照片

Unity将真实世界的照片贴图到模型上 原因 模拟仿真&#xff0c;直接使用照片肯定是效果最好的&#xff0c;省下做材质了 直接拖动即可 导入图片到Unity中将图片修改为Sprite模式直接将图片拖动到Scene面板的物体上即可 注意&#xff1a;是将图片拖动到Scene面板的物体上&a…

【Ubuntu】安装常用软件包

安装java 直接输入java&#xff0c;如果没有安装的话会提醒你输入命令安装&#xff0c;类似 Command java not found, but can be installed with: sudo apt install jdkxxxxxxxxxxxxxx然后选一个版本安装就好&#xff0c;我这里选的jdk17,安装完确认一下 ubuntuVM-4-13-ubu…

【深度学习】注意力机制介绍,了解什么是注意力计算规则以及常见的计算规则,知道注意力机制的工作流程

1注意力机制介绍 1.1 注意力概念 我们观察事物时&#xff0c;之所以能够快速判断一种事物(当然允许判断是错误的), 是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断&#xff0c;而并非是从头到尾的观察一遍事物后&#xff0c;才能有判断结果. 正是基于…

动物检测系统源码分享

动物检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

el-tree父子不互相关联时,手动实现全选、反选、子级全选、清空功能

el-tree父子不互相关联时&#xff0c;手动实现全选、反选、子级全选、清空功能 1、功能实现图示 2、实现思路 当属性check-strictly为true时&#xff0c;父子节点不互相关联&#xff0c;如果需要全部选中或选择某一节点下的全部节点就必须手动选择每个节点&#xff0c;十分麻…

速卖通在哪些国家受欢迎?速卖通怎么选品?选品方式有哪些?

速卖通&#xff08;AliExpress&#xff09;是阿里巴巴集团旗下的一家跨境电商平台&#xff0c;也是全球第三大英文在线购物网站&#xff0c;为全球消费者提供了一个方便、多样化的购物平台&#xff0c;在中国跨境出口B2C平台中占据领先地位。相关数据统计&#xff0c;今年上半年…

砥砺前行 智护健康:衢州骨伤科医院建院十五周年庆典圆满启动

2024年9月12日&#xff0c;衢州骨伤科医院建院十五周年庆典圆满启动。作为邦尔骨科医院集团的第二家医院&#xff0c;衢州骨伤科医院创办于2009年&#xff0c;建院十五年来坚持集团宗旨与愿景&#xff0c;致力于将骨科领先技术和优质服务带给老百姓&#xff0c;现已成为区域领先…