了解JavaScript中的语句

前言

        前面我们学习了JavaScript中的变量、操作符等,本篇内容讲解JavaScript中的语句,只有了解了语句的使用,才能正式开发出一个完整的功能。

一、if语句 

        if语句是实际开发中使用最多的语句之一,具体语法如下

if(条件) 语句1 else 语句2 

        其中条件可以是任意表达式,并且其返回的值不一定是布尔值,JavaScript会使用Boolean()函数将最终结果转化为布尔值。 如果条件为true则执行语句1,如果条件为false则执行语句2。这里的语句1和语句2可以是单行语句,也可以是多行语句。如果是多行语句,则需要使用大括号将所有语句括起来,如下所示

if(1==1){console.log(1);console.log(2);
}else{console.log(3);console.log(4);
}

        不过,即使是单条语句,也推荐使用代码块的方式,即使用大括号将其括起来。

二、do-while语句 

        do-while语句是后测试循环语句,即先执行循环体中的代码,后测试出口条件。也就是说,在do-while语句中,循环体中的代码至少被执行一次。以下是do-while语句的语法

do{语句
}while(条件)

         下面举例说明

var i=10;
do{console.log(i);i--;
}while(i>1)    //i大于1的情况下,循环体始终被执行

三、while语句

        与do-while语句相反,while语句属于前测试循环语句,即先先测试出口条件,再执行循环体中的代码。 以下是while语句的语法

while(条件){语句
}

         下面举例说明

var i=10;
while(i>1){console.log(i);i--;
}    //i大于1的情况下,循环体始终被执行

四、for语句 

        for语句也是前测试语句,它的特点是在执行循环之前可以声明变量,并且可以定义执行循环后要执行的代码。以下是for语句的语法

for(声明变量;条件;循环后执行的语句){语句
}

        下面举例说明

for(var i=10;i>1;i--){    //变量i在for语句中声明console.log(i);
}    

        需要说明的是,虽然i是在循环内定义的变量,但在循环外也可以访问到它。

        for语句中的三个部分都是可选的,如果三个部分都省略,则会得到一个无限循环语句,如下所示

for(;;){    console.log(i);
}    

        也可以只给出控制表达式,将其变为while语句,例如

var i=10;
for(;i>1;){    console.log(i);i--;
}    

五、for-in语句

         for-in语句可以用来迭代对象属性,其语法如下

for(属性 in 对象){语句
}

        下面举例说明

var a={p1:1,p2:2};
for(key in a){console.log(key)    //第一次输出p1,第二次输出p2
}

        需要注意的是,JavaScript中的对象属性没有顺序,因此,通过for-in语句循环出来的属性顺序是不可预测的,会因浏览器而异。并且,如果对象的值为null或undefined,for-in语句则不会执行。

六、label语句 

        label语句用来在代码中添加标签。以便将来使用。label语句一般要与循环语句配合使用,具体用法在下面的小节讲解。

七、break和continue语句 

         break和continue语句用来在循环中控制循环的执行。break语句会立刻退出整体循环,并继续执行循环后面的语句。而continue语句则只是退出本次循环,并从循环顶部继续执行。比如下面的例子

for(i=0;i<10;i++){console.log(i)if(i>5){break;}
}
console.log('循环结束')

        以上代码在连续输出0到6后,便退出循环,直接输出“循环结束”

for(i=0;i<10;i++){if(i==5){continue;}console.log(i)
}
console.log('循环结束')

        以上代码从0到9依次输出,但唯独没有输出5,因为在循环体中当i等于5的时候退出了本次循环,又从头开始执行了。

        我们再看一下break语句与label语句联合使用的情况,下面举例说明

var num=0;
start:for(i=0;i<10;i++){for(j=0;j<10;j++){if(i==5&&j==5){break start;}num++;}}
console.log(num);  //55

        在以上代码中,如果两个循环正常执行的话,num的最终值是100。但内部循环的break后面跟了一个参数,表示要返回到的标签。添加这个标签的结果导致break语句不仅退出了内循环,还退出了外循环。因此,当变量i和j都等于5时,num的值刚好是55。

        我们再看一下continue语句与label语句联合使用的情况,下面举例说明 

var num=0;
start:for(i=0;i<10;i++){for(j=0;j<10;j++){if(i==5&&j==5){continue start;}num++;}}
console.log(num);  //95

         以上代码中,continue会强制继续从最外层开始继续执行循环,这也意味着内部循环少执行了5次,因此num最终结果是95。

        需要注意的是,在实际开发中并不推荐使用label标签,过度使用label标签会导致代码混乱,不利于调试。

八、with语句

        with语句的作用是将代码的作用域设置到一个特定对象中。目的是简化多次引用同一对象的代码,比如:

var a={p1:1,p2:2,p3:3
};
with(a){console.log(p1);console.log(p2);console.log(p3);
}

        以上代码会依次输出1、2、3。

        注意,由于大量使用with语句会造成性能下降,所以在实际开发中不建议使用with语句。

九、switch语句 

        switch语句是一种流控制语句,如下所示:

var a=1;
switch (a) {case 1:console.log(1);break;case 2:console.log(2);break;case 3:console.log(3);break;default:console.log(4)
}

        以上代码输出1,以上代码等同于以下if语句

var a=1;
if(a==1){console.log(1);
}else if(a==2){console.log(2);
}else if(a==3){console.log(3);
}else{console.log(4);
}

        switch语句还可以像下面这么用

var a=1;switch (a) {case 1:case 2:case 3:console.log(3);break;default:console.log(4)
}

        以上语句等同于下面的if语句

var a=1;
if(a==1||a==2||a==3){console.log(3);
}else{console.log(4);
}

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

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

相关文章

VUE局部组件

实现局部组件的注册功能&#xff0c;样例如下 代码如下 <html><head><meta charset"utf-8"><title></title></head><body><div id"app"><hello-word></hello-word><hello-tom></he…

通信及信号处理领域期刊影响因子、分区及期刊推荐-2024版

期刊名IF(202401)中科院分区(20231227)备注IEEE Journal on Selected Areas in Communications16.4计算机科学1区Top通信顶刊IEEE Transactions on Signal Processing5.4工程技术2区Top信号处理顶刊IEEE Transactions on Information Theory2.5计算机科学3区信息论顶刊IEEE Tra…

多个微信的朋友圈如何高效管理?

大家都知道&#xff0c;在当今社交媒体盛行的时代&#xff0c;微信朋友圈已成为了我们交流和分享生活的重要平台。但是&#xff0c;对于那些同时管理多个微信号的人来说&#xff0c;如何高效省时地管理这些账号的朋友圈就成了一项挑战。 今天我将分享一个神奇的微信管理工具&a…

vue项目获取 iframe 中的DOM元素

注意&#xff0c;由于跨域的安全限制&#xff0c;只能访问同源的 iframe 内容。如果 iframe 的源与父组件的源不同&#xff0c;那么在访问其内容时可能会遇到跨域错误。 <template><div><iframe ref"myIframe" src"https://example.com" lo…

内存的基础知识-第四十天

目录 什么是内存&#xff1f;内存的作用 常用的数量单位 指令的工作原理 思考 三种装入方式 绝对装入 可重定位装入&#xff08;静态重定位&#xff09; 动态运行时装入&#xff08;动态重定位&#xff09; 写程序到程序运行 编译和链接 链接的三种方式 本节思维导…

达梦数据:数字化时代,国产数据库第一股终于到来?

又是新的一年开始。回首一年前的此时&#xff0c;在大家千呼万唤地期待中&#xff0c;数据基础制度体系的纲领性文件正式发布。 时隔一年之后&#xff0c;数据资源入表如约而至。2024年1月1日《企业数据资源相关会计处理暂行规定》正式施行&#xff0c;各行各业海量数据巨大的…

Fiddler工具 — 6.Fiddler页面布局之工具栏

Fiddler工具栏就是平时比较常用功能的一个快捷方式。 下面一一说明&#xff1a; 1、第一组工具&#xff1a; WinConfig&#xff1a;可以在里面配置一些windows系统的应用程序&#xff0c;配置在里面的应用的请求Fiddler都可以抓到&#xff0c;Fiddler5新增功能。 换句话说&…

入门Python笔记详细介绍

以下是 Python 入门的详细介绍&#xff1a; 1.安装 Python&#xff1a;首先&#xff0c;你需要从 Python 官方网站&#xff08;https://www.python.org/&#xff09;下载适用于你的操作系统的 Python 版本&#xff0c;并按照安装向导进行安装。 2.编写第一个 Python 程序&…

C语言—第4次作业—分支结构专练

题目 1: 计算平均分并判断等级 问题描述&#xff1a;编写一个程序&#xff0c;读取用户输入的三个数&#xff08;例如考试成绩&#xff09;&#xff0c;计算平均分&#xff0c;并根据平均分给出等级&#xff08;90以上为A&#xff0c;80到89为B&#xff0c;70到79为C&#xff…

caj转换成pdf有哪些方法?

caj转换成pdf有哪些方法&#xff1f;PDF是一个被广泛支持的文件格式&#xff0c;这种格式基本上在所有的操作系统和设备上都是支持使用的&#xff0c;也能够将PDF文件打开和查看的&#xff0c;相比于caj文件&#xff0c;它就只能通过一下特定的软件或者是插件才能够将caj打开或…

潮玩宇宙大逃杀游戏搭建

潮玩宇宙是当下较火的社交互动平台&#xff0c;它不仅涵盖了各种潮玩商品&#xff0c;还拥有各种游戏玩法&#xff0c;尤其是大逃杀游戏非常火爆&#xff01;本文将介绍大逃杀游戏的开发和发展前景。 大逃杀游戏 大逃杀游戏是当下的一种新型游戏模式&#xff0c;旨在为玩家提供…

mysql高可用方案之MHA

mysql集群高可用方案&#xff1a; 单主&#xff1a;keepalived、MHA、MMM 多主&#xff1a;MySQL cluster 、PXC MHA的工作原理 MHA node 运行在每台MySQL服务器上&#xff0c;MHA Manager会定时探测集群中的master节点&#xff0c;当master出现故障时&#xff0c;它可以自…

odoo17 | 计算字段和更改事件

前言 模型之间的关系是任何Odoo模块的关键组成部分。它们是任何业务案例建模所必需的。然而&#xff0c;我们可能希望给定模型中的字段之间存在链接。有时一个字段的值是由其他字段的值决定的&#xff0c;而有时我们希望帮助用户进行数据输入。 这些案例得到了计算字段和onch…

JavaScript 基础四 函数使用、传参、返回值、作用域、匿名函数

JavaScript 基础四 函数 1.1 函数1.2 函数使用函数名命名规范函数的调用 1.3 函数传参&#xff08;1&#xff09;声明语法&#xff08;2&#xff09;调用有参函数&#xff08;3&#xff09;形参和实参&#xff08;4&#xff09;参数默认值 1.4 函数返回值&#xff08;1&#xf…

双鲸项目业务逻辑梳理

双鲸项目业务逻辑梳理 一、与华润WMS接口对接 1.ic&#xff1a;库存管理模块 采购入库单上增加推送WMS按钮&#xff0c;如果组织编码为108且仓库自定义档案上的自定义项1为Y&#xff0c;则推送WMS&#xff0c;否则提示“本单据不满足推送WMS条件”&#xff1b;推送完后更新采…

HTML如何设置多图片上传,并限制格式类型

在HTML如何设置多图片上传&#xff0c;并限制格式类型为jpg和png格式。 <input type"file" name"fileInput" id"fileInput"> 上面这行代码&#xff0c;只支持单个文件上传&#xff0c;且不支持文件类型过滤&#xff0c;在实际开发过程中&…

Java实战项目二:学生信息管理系统

文章目录 一、实战概述二、知识点概览&#xff08;一&#xff09; 类与对象设计&#xff08;二&#xff09;文件读写操作&#xff08;三&#xff09;集合类应用 三、思路分析&#xff08;一&#xff09;系统架构设计&#xff08;二&#xff09;.功能模块划分 四、实现步骤&…

Mybatis Plus 条件构造器的简单介绍 以及IService 的简单使用

文章目录 Mybatis Plus条件构造器LambdaWrapper自定义SQLService接口 Mybatis Plus 条件构造器 简单案例演示 特殊案例更新 UpdateWrapper 更新几个用户的余额减少200LambdaWrapper 因为上方为硬编码&#xff0c;所以不建议 而是使用反射&#xff08;Lambda&#xff09;这样…

AI的突破与融合:2024年中国智能技术的新纪元_光点科技

随着人工智能领域的不断突破&#xff0c;2024年注定将成为中国智能技术发展的一个新纪元。当下&#xff0c;AI技术不仅在理论研究上取得了重大进展&#xff0c;其在商业应用、社会服务等领域的融合也日益深入。本文将结合近期网络上的AI热点&#xff0c;展望中国在AI技术方面的…

Windows关闭自动更新

winR 打开运行界面&#xff0c;输入taskschd.msc 在任务计划程序中找到/Microsoft/Windows/WindowsUpdate&#xff0c;并禁用该任务。