首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不能在js‘for循环的最后一条语句中添加分号?

在JavaScript的for循环中,不应该在最后一条语句中添加分号。这是因为在for循环语法中,分号用于分隔三个表达式:初始化表达式、条件表达式和迭代表达式。而在for循环的最后一条语句中添加分号,会导致该分号被视为一个空语句,从而使得迭代表达式成为for循环的一部分。这将导致迭代表达式在每次循环迭代结束后被执行,而不是在每次循环迭代开始时被执行。

为了更清晰地说明这一点,以下是一个示例:

代码语言:txt
复制
for (var i = 0; i < 10; i++);
{
  console.log(i);
}

在这个示例中,循环体实际上是一个空语句块,因为它被花括号括起来,并且在最后一条语句中添加了一个分号。结果是,console.log(i)语句不会被视为for循环的一部分,而是在for循环结束后被执行。因此,这段代码将输出 10,而不是从 0 到 9 的递增数字。

为避免这种错误,应该确保在for循环的最后一条语句中不添加分号,如下所示:

代码语言:txt
复制
for (var i = 0; i < 10; i++) {
  console.log(i);
}

在这个修正后的示例中,循环体没有被花括号括起来,并且在最后一条语句中没有添加分号。这意味着console.log(i)语句是for循环的一部分,将在每次循环迭代开始时被执行。结果是,这段代码将按预期输出从 0 到 9 的递增数字。

需要注意的是,这个问题与云计算和IT互联网领域的专业知识、编程语言、产品以及品牌商没有直接关联。因此,在回答这个问题时,不需要提及具体的云计算品牌商或产品链接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C语言——分支与循环

引言 由前面的知识我们可以知道C⾔是一种结构化程序设计⾔,这⾥结构包括顺序结构、选择结构、循环结构,在C语言中我们可以使⽤ if 、 switch语句 实现分⽀结构,使⽤ for 、...需要特别注意是if后面默认只控制一条语句,如果需要if后面执行多条语句的话,就需要将控制多条语句用{ }括起来。...语句中 case 语句和 default 语句是没有顺序要求,只要你顺序是满⾜实 际需求就可以了,不过我们通常是把 default ⼦句放在最后处理。...6.switch 语句也是分⽀效果,只有在 switch 语句中使⽤ break 才能跳出 switch 句,如果某⼀个 case 语句后边没有 break 语句,代码会继续往下执⾏,有可能执⾏...,我们需要注意是continue只能在循环中使用,而break可以在switch和循环句中使用,但是break不能与if语句单独使用。

6210

js代码规范

js代码建议保存到后缀名.js文件中 js代码建议放在html中,原因有:不能被缓存,会增大网页文件大小,可维护性不高,会影响页面的加载。...语句 : 9.1 简单语句 每一行语句最多只包含一条语句,吧分号放在每个简单语句结尾。注意每个变量或者对象赋值语句也是简单语句,应该以分号结尾。...js吧任何表达式都当一条简单语句,会导致一些隐性错误。如果自己没加分号,那么js解释器会自动添加分号,按照自己能读懂断句。 9.2 复合语句 也称为语句块,被包在大括号内部。...大括号要在使用语句块时候使用,哪怕只有一句,这样可以避免以后再添加语句时候造成逻辑错误,比如if else 这样句中,默认只对单行代码有效 。...每个控制结构,比如for循环三个分支之间。 变量声明时每个逗号之间。 变量作用域 js没有有块级作用域,只有函数作用域。 [] {} 用法 使用直接量发来声明对象和数组。

8.9K30
  • VB学习之路 ——基本语句

    3.VB在If选择语句中和C语言类似: if只执行其中一条判断后面的语句,一旦有条件满足,则整个if语句都将结束;即当某一条件为真时,执行其后语句,后面的条件就不会判断了,结束if语句。...Select Case 语句 下面是学过C语言初学者犯得典型错误 正确做法 在下面的Case语句中Score换成Is就可以,不要问为什么,可能VB就是这样规定吧 哈哈,方式见下图...Exit For ‘这条语句是退出For循环时候使用 ,比如满足某一条件后,不在执行以后For循环 Next (变量) For循环可以嵌套,但是变量名字不可以重复...3. print 输出函数 分号(;)表示紧凑输出。有了这个分号,后面print就会接着上次print位置后输出。 逗号(,)则会间隔输出。...&连接字符串 无论什么东西 最后得到都是字符串 25+“38” 25+38 类似 都得到“2538”,&同时作为长整型类型符,在作为连接符使用时候一定要和前后变量类型之间加入空格,否则可能会出现类型匹配错误

    82730

    C语言分支和循环语句

    另外,在C语言中,0表示假,非0表示真,也就是输出结果为0,则语句执行,表达式结果不是0,则语句执行。        ...1) printf("%d 是奇数\n", num); else printf("%d 是偶数\n", num); return 0; } 1.3 分支中包含多条语句 默认在if和else语句中都只控制一条语句...例如: if(month>=33&&month<=5) 表达式中&& 左操作数是 month >= 3 ,右操作数是 month = 3 结果是0时候,及时判断 month <= 5 ,整个表达式结果也是...原因是 switch 语句也是分⽀效果,只有在 switch 语句中使⽤ break 才能在跳出 switch 句,如果某⼀个 case 语句后边没有 break 语句,代码会继续玩下执⾏,有可能执...不过我们通常是把 default ⼦句放在最后处理

    14310

    JavaScript企业级编程规范(3)-换行与缩进-空格约束-语句格式-常见技巧

    左对齐 以下情况,不应该使用缩进 针对整个js文件注释第一行及最后一行 /** * 函数功能详细 * @param [参数1] [参数说明] * @param [参数2] [参数说明] * @return...x += 2; remove(this); // ✗ avoid,同上 函数体第⼀条句与函数定义行之间留空行 function openModelDialog() { x = y + 1;...2个空格 case中句相对于case关键字缩进数为2个空格 必须有default分⽀ for语句 for (i = 0; i <= 10; i++) { 句; } 约束说明: 循环判断中...,分号";"与后面的表达式之间须留一个空格 各句相对于for缩进数为2个空格 即使for中只有一条句,也必须用"{ }"双大括号括起来,禁止使用以下格式 // 非法 for (i = 0; i <...= 10; i++) alert(i); while语句 while (i <= 10) { // 逻辑代码 } 约束说明 各句相对于while缩进数为2个空格 即使while中只有一条句,

    1.6K10

    JS该写分号嘛? - wuuconixs blog

    ASI 在写JS之前,我一直在写Python,习惯了没有分号代码。 刚好,JS为我们提供了 自动分号插入 Automatic Semicolon Insertion!...利用解构语法swap时候 let a = 1, b = 2 [a, b] = [b, a] console.log(`a: ${a}`) console.log(`b: ${b}`) 很容易看出这段代码意思是交换变量...然后它后面的[3, 4]实际上是一个下标选择,里面的3, 4会被看成一个逗号表达式,它值是最后一个元素,即4。...所以[2, 1][3, 4]可以写为[1, 2][4],所以最后值是undefined。...然后值得注意是,undefined = [d, c]虽然对undefined本身没有影响,但是它本身作为一个赋值表达式也是有值,它值就是[d, c] 故最后运行表达式实际上是这样[a, b]

    1.2K20

    详解分支和循环结构(剖析if语句,switch语句,while循环,for循环,do-while循环

    介绍 C⾔是结构化程序设计⾔,这⾥结构指的是顺序结构、选择结构、循环结构,C⾔是能够实现这三种结构,其实我们如果仔细分析,我们⽇常所⻅事情都可以拆分为这三种结构或者这三种结构组合。...分支结构 if语句 if(表达式) 语句1 else 语句2 表达式成⽴(为真),则语句执⾏,表达式不成⽴(为假),则语句执⾏ 在C⾔中,0为假,⾮0表⽰真,也就是表达式结果如果是...0,则语句执⾏,表达式结果如果是不是0,则语句执⾏。...,下面还有三种稍复杂一点: 分支中包含多条语句 上面无论是if还是else后都只有一条语句,那如果更多呢?...default只能放在最后吗?其实,在 switch 语句中 case语句和default语句是没有顺序要求,只要你顺序是满足实际需求就可以。

    21110

    匿名函数闭包模仿块级作用域,轻松解决开发中两大难题

    (1)匿名函数自调用理解 (2)匿名函数自调用前面要加一个分号; 六、结束 一、引言 首先,还没有了解过作用域链和闭包小伙伴可以点击下面三篇文章进行学习一下,方便对本文内容理解。...,清除无用变量,释放多余内存,展现更好性能 二、什么是块级作用域 在例如Java 、C++等语言中,一个 for循环句中定义了一个变量 i ,那么该变量就只属于这个 for循环语句块中,即循环结束后...,说明 for循环是无法形成块级作用域。...第一天张三先在文件 index.js 中写了一些代码;第二天李四也在这个文件中写了一些代码;第三天王五也同样在这个文件中写一些代码;最后到你在这个文件中补充一些功能时,你会发现,之前他们三个写代码时,在全局定义了很多很多全局变量...所以我们只需要在前面加一个分号 ; ,就可以避免这样尴尬情况了。

    70620

    for语句

    for语句 for循环语句一般形式如下: for(表达式1; 表达式2; 表达式3) 语句 使用for语句时,需要注意以下问题: (1) 循环体只能包含一条语句,当需要多条语句组成时,使用复合语句。...(2) for循环语句括号中三个表达式之间用分号隔开,表达式1只执行一次,一般用来进行整个循环开始之前初始化工作,常见用法是初始化循环控制变量;表达式2值决定循环是否继续执行,是循环控制条件;表达式...3在循环体每次执行后都计算一次,常见用法是修改循环控制变量值。...(3) for语句执行过程是先判断循环条件,再执行循环体,因此循环体有可能一次也执行。 (4) for语句中三个表达式都可以省略,但是作为分隔符分号是不能省略。...省略表达式1时,对应初始化工作可以放在循环语句前面完成;省略表达式3时,相应工作可以放在循环最后完成;省略表达式2时,for循环语句循环条件默认为非0,即循环条件永远为真。

    85320

    JavaScript基础之一——语句与数据类型

    需要注意,如果开发者要在一行中编写多句语句,需要使用分号进行分割,示例如下: //JS语句可以由分号结尾,也可以分号 console.log("无分号结尾语句") console.log("有分号结尾语句..."); //如果要在同一行中写多个语句 需要用分号进行分割 最后一句语句可以不带分号 console.log('组');console.log('合')     JavaScript语言是一种对大小写十分敏感语言...,在同一行语句中可以同时声明多个变量,示例如下: //JS使用var来进行变量声明 var obj1; obj1 = 'OBJ' //变量在声明时候 也可以直接赋值 var obj2 = 'OBJ'...//一条句中也可以声明多个变量 使用,进行分割 var obj3 = 2,obj4 = 1.5,obj5="OBJ"     JavaScript语言拥有动态数据类型,虽然在变量声明上,JavaScript...与Swift语言有些相似,但其本质完全不同,Swift语言是强类型语言,在变量声明时指定类型原因是Xcode工具会自动推断变量类型,并且Swift语言中变量类型一旦确定则不能更改,JavaScript

    58110

    c++基础之语句

    一个块就是一个作用域,在块中引入名字只能在块内部以及嵌套在块里面的子块中访问。通常名字在有限区域内可见,该区域从名字定义开始,到名字所在块结尾为止。...语法上需要一条语句,但是逻辑上需要多条语句,应该使用语句块,例如if或者while等循环里面。 块不以分号结束。...条件语句 条件语句需要注意: if语句每个分支尽量加上大括号,即好读,也能避免很多问题 switch 语句中case后面必须跟上整型常量表达式 一般不要省略case分支最后break语句,如果是特殊逻辑需要这么做...break:用于跳出离它最近while、do while、for或者switch语句,并从这些语句之后一条语句开始执行。...continue:终止最近循环句中当前迭代并立即进入下一次迭代,它只能出现在循环句中。 goto:跳转到对应标签处,标签可以定义在函数任意位置。

    72810

    开发成长之路(1)-- C语言从入门到开发(入门篇一)

    谁又不是在自己目前所处信息层面上做出选择呢,只要努力过,都会有收获。 好了好了,扯皮了,半年之期已到,我得回去带我团队了。...下载之后点击安装,前面一路正常,会出困惑应该是这个界面: 如果说之后还有需要什么功能的话,也是可以再行添加: 打开visual studio Installer,进入修改: 建议安装在...如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环一条语句。 执行完 for 循环主体,跳回上面的 increment 语句(可以放空)。...printf("a 值: %d\n", a); } return 0; } ---- break与continue 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环以外一条语句...它还可用于终止 switch 语句中一个 case。 continue 会跳过当前循环代码,强迫开始下一次循环

    43020

    写给前端专家一封公开信:关于分号(翻译)

    但是我不是很敢学你风格,因为很多 JS 教材都说 JS 解释器自动加分号机制会对代码有影响。 如果我不把逗号放在行尾,而是放在下一行行首,在浏览器里是否安全呢?...抑或是说只能在 Node 里这样用呢? 2011年11月20日 我回复道: 是的,这样是安全,而且是完全合法 JS,每个浏览器都理解。...Inimino 文章《JS 分号必知必会》对此解释得很清楚,他本人对是否添加分号持保留意见,但我打算更主观一些。...规则 一般地,\n 表示一个语句结束,除非出现下面几种情况: 该语句中含有未关闭(、[、或 {,或者是以某种不合法结束方式来结束(如以 ....或其他二元操作符开头 第一条是很显然事情。我们在 JSON 里经常用到类似的断句方式,在一个 var 语句里声明多个变量时也会用 , 来断句。 第二条就比较奇怪。

    77870

    写给前端专家一封公开信:关于分号(翻译)

    但是我不是很敢学你风格,因为很多 JS 教材都说 JS 解释器自动加分号机制会对代码有影响。 如果我不把逗号放在行尾,而是放在下一行行首,在浏览器里是否安全呢?...抑或是说只能在 Node 里这样用呢? 2011年11月20日 我回复道: 是的,这样是安全,而且是完全合法 JS,每个浏览器都理解。...Inimino 文章《JS 分号必知必会》对此解释得很清楚,他本人对是否添加分号持保留意见,但我打算更主观一些。...规则 一般地,\n 表示一个语句结束,除非出现下面几种情况: 该语句中含有未关闭(、[、或 {,或者是以某种不合法结束方式来结束(如以 ....或其他二元操作符开头 第一条是很显然事情。我们在 JSON 里经常用到类似的断句方式,在一个 var 语句里声明多个变量时也会用 , 来断句。 第二条就比较奇怪。

    51310

    Awk,一行程序和脚本,帮助您对文本文件进行排序【Programming】

    每一行代表一条新记录,就像您在电子表格或数据库转储中可能看到那样。 在每一行中,都有不同字段(可以将它们看作电子表格中单元格) ,这些字段之间用分号分隔(;)。...最后,您将得到一个很好假设,即 awk 脚本必须执行哪些操作才能为您提供所需数据结构。 在这种情况下,很容易看出每个字段都由分号分隔。...前面没有特殊关键字BEGIN或ENDAwk语句是发生在每个记录上循环。这是脚本一部分,它扫描数据中模式并相应地处理它。...您只能在对数组进行填充后对其进行排序,这意味着该操作不能在每个新记录中发生,而只能在脚本最后阶段发生。 为此,awk 提供了特殊 END 关键字。...最后,使用for循环迭代SARRAY中每个项,使用printf()函数打印每个键,然后在ARRAY中打印该键相应值。

    1.5K00

    《JavaScript语言精粹》—— 读书总结

    话说这本书还是同学推荐才读,之前感觉这本书太薄了,不值得看,没想到小身材有大智慧,书中内容总结还是很到位!所以就把最后几章,精华部分整理整理。...优美的特性 函数是顶级对象 在JS中,没有块级作用域,都是以函数为最小作用域,这样就可以把所有的变量放在函数顶级声明。同时,也需要注意for循环,与java使用方法就不一样了。...即便是在for循环体内,或者if语句中,声明变量也是函数级别的。 而函数会延长作用域范围,也就衍生出闭包这种概念,详细还应该去参考《JS高级程序设计》,那里面讲比较详细。...毒瘤 全局变量 在JS中有三种声明变量方式: 第一种,使用var语句声明: var foo = value; 第二种,直接给全局对象添加属性 window.foo = value; 第三种,直接使用未声明变量...foo = value; 自动插入分号 有时候js会自动为我们加入分号,比如: return { status:true }; 有可能被解析成这样: return ; { status : true

    68590
    领券