前端入门-JavaScript 语句

在编程语言中语句通常使用一个或多个关键字来完成特定的任务。比如定义变量、赋值、条件判断、循环等语句。下面我们将介绍JavaScript中大部分常用的语句,主要分以下几类:

  • 声明和赋值语句
  • 条件语句
  • 循环语句
  • 其它语句

声明和赋值语句

这类语句是最基本的,比如声明一个变量且给变量赋值,如下示例:

var myName,otherName; // 声明变量语句myName = “hello world”; // 赋值语句otherName = “你好”; // 赋值语句

可以使用var 、let 及 const 关键字声明一个变量,使用“=”等号给变量进行赋值。

条件语句

条件语句主要用来处理逻辑判断,在编程中经常使用,随时都要用到条件语句进行逻辑选择,其有以下几种:

  • if 语句 (如果…)

if (条件表达式) {// 代码块……}

if…else 语句 (如果… 否则…)

if (条件表达式) {// 代码块……}else{// 代码块……}

if…else if… else(如果… 或如果… 否则…)

if (条件表达式) {// 代码块……} else if(条件表达式){// 代码块……}else{// 代码块……}

switch 语句 (类似if…else if…else)

switch(表达式){ case value: // 代码块…. break; case value: // 代码块…. break; case value: // 代码块…. break; default: // 代码块….}

我们通过几个示例看看如何使用条件语句,如下示例:

let a = 1,b=5;// if 语句,当条件表达式 a < b 结果为true 时执行对应{}中的代码if(a < b){alert("a 小于 b")}// 使用 else ,当 a < b 结果为false时执行else对应{}中的代码if(a < b){alert("a 小于 b")}else{alert("a 大于 b")}

当你要判断的条件可能性比较多时就需要使用 if … else if … else 了,如下示例:

let a = 1, b=5,c=10;if(a<b){ // 如果 a小于balert("a 小于 b")} else if( a < c){ // 如果a小于calert("a 小于 c")} else if( b < c){ // 如果b小于calert("b 小于 c")} else if( a == b){ // 如果a等于balert("a等于b")} else { // 除了以上几种情况alert("其它情况")}

上面的语句也可以使用 switch 语句,如下示例:

let a = 1, b=5,c=10;switch(true) { case a<b: // 如果 a小于b alert("a 小于 b") break; case a<c: // 如果a小于c alert("a 小于 c") break; case b<c: // 如果b小于c alert("b 小于 c") break; case a==b: // 如果a等于b alert("a 等于 b") break; default: // 除了以上几种情况 alert("其它情况")}

关于条件语句,需要注意几点:

  • 条件表达式可以是任何表达式,JavaScript会自动将其结果转化成Boolean类型值。
  • else if 可以有很多个,根据实际逻辑判断而定。
  • if 语句对应{}中的代码如果只有一行时,可以省略{},但是建议不要这样做,最好都带上{}。
  • switch 语句中的break 也是一个语句,它不是必需的,其含义是指当前case 对应的表达式求值完后不再继续向下求值,如下示例:

switch(a){ case 0: alert(“如果a等于0时”); case 10: alert(“如果a等于10时”); break; case 15: alert(“如果等于15时”); break; default: alert(“其它”);}

上面当case 0 时,switch 语句不会停止,而是继续向下执行case 10,直到case 10 中的break语句才结束。也就是说 a 和 0 比较后,继续和 10 做比较,这样就可以实现和多个条件比较,相当于 if( a ==0 || a == 10) {}。

循环语句

此类语句也是经常使用到的,在编程中经常需要重复计算一些东西,这时就需要循环语句。循环语句,都会有一个条件表达式如同if语句一样,这里含义是指当条件表达式值为true时结束循环。

JavaScript中有以下几种:

do – while 语句

这是一种后测试循环语句,通俗讲就是先执行循环体中的代码,再判断循环中的条件表达式,也就是在条件表达式求值前,至少循环体内的代码执行了一次,语法如下:

do {// 代码块} while (条件表达式)

示例如下:

var i = 0;do{i += 2;} while ( i < 10 )

while 语句

这个语句和 do-while 语句正好相反,是前测试循环语句,就是先求表达式的值,然后再去执行循环体中的代码,因此如果表达式值为false,其循环体就不会执行,while语句有可能永远都不会执行。

语法如下:

while (条件表达式){// 代码块}

示例如下:

var i = 0;while ( i < 10){i + = 2;}

for 语句

for 语句也是一种前测试循环语句,它不同之处是可以再执行循环体之前定义并初始化变量和定义循环后要执行的代码,语法如下:

for( 初始变量; 条件表达式; 循环后执行的表达式;){// 代码块}

for 循环中括号里面,条件表达式是必需的,其它2个表达式可以没有。且初始化部分的变量可以是一个外部变量。

示例1:

// 循环打印出1 到 100for( var i =0; i<100: i++){console.log(i+1); // 因为初始是0,所以这里加1,当然你也可以把i的初始值设置为1}

示例2:

// 只有条件表达式,这个类似于while语句了,一般不建议这样写var count = 10;var i = 0;for( ; i<count; ){console.log(i); i++;}

示例3:

// 无限循环,这种情况没有任何意义,不建议使用for( ; ; ){console.log(”);}

for 循环语句是平时使用较多的语句,像do-while 和 while 都很少使用,因为 for 语句更加灵活,建议使用。

for in 语句

这是一种精准的迭代语句,和for 语句不同之处是它往往用来迭代一个对象中的属性,对于由键值对组成的对象类型而言使用for语句就显得不适用了,for in 语句语法如下:

for (key in object) {// 代码块}

如上key 值对象中的属性名称,object 就是一个对象,这个对象可以是JavaScript中的object类型或者dom 节点等。

示例如下:

var obj = {a: 0, b: 1, c: 2, d: 3}// 迭代obj对象for (key in obj) {console.log(key); // 输出属性名称 console.log(obj[key]); // 输出对应的属性值}// 结果如下// a、b、c、d// 0、1、2、3

注意 for in 中的对象不能是 null 或 undefined,否则会抛出错误。虽然在 ECMAScript 5 中不会抛出错误,只是不执行循环体而已,所以在写代码之前,判断迭代的对象是否是null或undefined。

break 和 continue 语句

这2个语句,通常配合循环语句使用。break 是指立即结束当前循环,退出循环体,continue 指不执行本次循环体直接跳过,继续执行下次循环。

示例如下:

// 使用break var num = 0;for( var i=0; i< 10; i++){ // 当i==5 时 立即结束循环if( i % 5 == 0) { break; } num ++ ;}alert(num); // 结果是 4// 使用 continue var num = 0;for( var i=0; i< 10; i++){ // 当i==5 时 跳过本次循环,继续下次循环if( i % 5 == 0) { continue ; } num ++ ;}alert(num); // 结果是 8

with 语句

这个语句不经常使用,它的作用是将代码的作用域设置到一个特定的对象中。语法如下:

with (表达式) {// 代码}

我们通过一个示例,看看它到底是干什么的:

var gs = location.search.substring(1);var hostname = location.hostname;var url = location.href;

上面的代码是一段用来获取浏览器信息的,分别获取了3个对象,我们下面使用with语句简化这段代码:

with(location){var gs = search.substring(1); var hostname = hostname; var url = href;}

是不是方便了很多,with 将其作用于设置为location对象,这样就不必每次使用location对象取值。

但是在实际使用中,不建议使用with语句,因为它会导致性能下降,同时不易阅读和调试。

结语

本节学习了JavaScript中语句的使用,主要分条件、循环、定义赋值等语句。语句是编程语言中重要的组成部分,相当于你要写一篇作文,没有语句是不行的,不然整篇作文将无法阅读,计算机语言也是如此。

到此,已经学习了JavaScript中的大部分内容,现在你可以写一些简单的脚本了,快试试吧。

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年7月24日 17:04
下一篇 2022年7月24日 17:05

相关推荐

  • 存储过程语法(sql server存储过程语法)

    今天小编给各位分享存储过程语法的知识,其中也会对sql server存储过程语法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! oracle存储过程基本语法…

    2022年11月26日
  • 抖音带货怎么做入门(抖音带货怎么做入门教学)

    相信很多小伙伴都有注意到,现在抖音已经成为大家最常光顾的一个平台了,作为一个日活破亿的流量池,如今抖音上的用户数量极大。因此,现在在抖音上带货、卖货的人也是越来越多了,那么想在抖音…

    2022年11月25日
  • 客服的岗位职责怎么写(客服工作内容及职责)

    各位小伙伴们大家周一好,又到了每周一给大家分享干货内容的时候啦~ 本期来跟大家分享一下客服工作管理流程以及客服岗位里面的每项职能岗位的核心细则,也是干货满满推荐收藏~ 一.补偿流程…

    2022年11月25日
  • 小红书入驻条件及费用(小红书开店)

    小红书喊你回家开店! 有不少用户都发现,最近在逛小红书的时候,笔记上面多出了一个图片标签,点进入之后便可进入下单页面,还可以通过商品页面找到相关店铺,大大缩短了交易路径。 “很方便…

    2022年11月23日
  • 重庆高风险区一般多长时间解除(重庆成都是高风险区吗)

    重庆这几天的疫情新增情况也是比较严重的,大家对近期的重庆疫情防控措施也都十分关注,据悉目前重庆还存在不少的疫情高风险地区。那么,重庆高风险区一般多长时间解除?对于高风险地区解封时间…

    2022年11月21日
  • 面包车加入货拉拉有什么条件(面包车拉货平台)

    现在大家可以看到各种货拉拉的车在大街小巷穿梭,同城配送都会选择货拉拉搬运,其中面包车是非常常见的一种,一些小伙伴也想加入货拉拉赚钱,那么面包车加入货拉拉有什么条件?下面小编为大家带…

    2022年11月21日
  • 马斯克凌晨一点半晒“代码审查”现场,编排他的段子比疯狂星期四还多

    梦晨 Pine 发自 凹非寺 量子位 | 公众号 QbitAI 每一个真正会写代码的人,请在下午2点到总部10层报到。 每一个真正会写代码的人,请在下午2点到总部10层报到。 马斯…

    2022年11月21日
  • wish个人开店流程及费用(wish平台入驻条件)

    随着电商行业的发展,不少国内卖家转战国外,可以说知名不知名的电商平台都有了中国卖家的身影,wish也不例外,今天我们就来说说wish平台入驻条件,让大家有备无患。 想要在一个平台上…

    2022年11月21日
  • 抖音黄v认证的条件是什么 抖音黄v和蓝v的区别有何不同

    经常玩抖音的小伙伴们会发现抖音上有黄v,还有蓝v,那大家知道这个抖音黄色标志是什么意思?黄v和蓝v的区别是什么呢?什么情况上需要去申请黄v呢?下面就和小编一起来看看吧。 抖音黄v认…

    2022年11月18日
  • 网站客服代码(网站客服代码实现移动端隐藏,电脑端展开)

    本文主要讲的是网站客服代码,以及和网站客服代码实现移动端隐藏,电脑端展开相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 在线客服系统代码是什么? 在线客服系统代码…

    2022年11月12日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息