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

为什么Firefox会抱怨这个javascript for循环中有一个分号?

Firefox会抱怨这个JavaScript for循环中有一个分号,是因为在JavaScript中,for循环的语法结构不应该包含分号。

通常,for循环的语法结构如下:

代码语言:txt
复制
for (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体代码
}

其中,初始化表达式用于初始化循环变量,条件表达式用于判断是否继续执行循环,更新表达式用于更新循环变量的值。

如果在这个语法结构中,多加了一个分号,例如:

代码语言:txt
复制
for (初始化表达式; 条件表达式; 更新表达式;) {
    // 循环体代码
}

那么JavaScript解析器会将分号后面的内容视为一个独立的语句,而不是循环体代码的一部分。因此,Firefox会抱怨这个分号的存在,因为它违反了for循环的语法规则。

要解决这个问题,只需将多余的分号删除即可:

代码语言:txt
复制
for (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体代码
}

总结: Firefox会抱怨JavaScript for循环中有一个分号,是因为分号违反了for循环的语法规则。正确的for循环语法结构不应包含分号。

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

相关·内容

Javascript中的url编码与解码(详解)

摘要 本文主要针对URI编解码的相关问题做了介绍,对url编码中哪些字符需要编码、为什么需要编码做了详细的说明,并对比分析了Javascript中和编解码相关的几对函数escape / unescape...为什么需要Url编码 通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。...大部分应用程序均能处理这种非标准实现的Url编码,但是在客户端Javascript中,并没有一个函数能够将+号解码成空格,只能自己写转换函数。...之前在使用Aptana(为什么专指aptana下面会提到)遇到一个很迷惑的问题,就是在使用encodeURI的时候,发现它编码得到的结果和我想的很不一样。下面是我的示例代码: <!...另外,很多HTTP监视工具或者浏览器地址栏等在显示Url的时候自动将Url进行一次解码(使用UTF-8字符集),这就是为什么当你在Firefox中访问Google搜索中文的时候,地址栏显示的Url包含中文的缘故

2.4K90

大话 JavaScript(Speaking JavaScript):第六章到第十章

⁵ Ajax 是一个缩写词,但不是一个首字母缩写,这就是为什么它没有被写成 AJAX。 第三部分:深入 JavaScript 原文:III....缺少分号会通过所谓的“自动分号插入”(ASI)添加(请参阅自动分号插入)。然而,该功能并不总是按预期工作,这就是为什么您应该始终包括分号的原因。...语句结束于块之后没有分号 如果以块结束,以下语句不会以分号终止: 循环:for,while(但不包括do-while) 分支:if,switch,try 函数声明(但不是函数表达式)...times' 类型强制可以隐藏错误 因此,JavaScript 很少抱怨值的类型错误。...不幸的是,这个运算符的结果并不完全符合逻辑,而且只是松散地对应于 ECMAScript 规范的类型(在JavaScript 的类型中有解释): 操作数 结果 undefined,未声明的变量 'undefined

25210

一文带你彻底搞懂Java和JavaScript的区别与相似之处(纯干货建议收藏)

这个保姆级别且充满干货的文章之后,我相信你所有的困惑都会烟消云散。 什么是Java? Java是一种OOP(面向对象的编程语言)、基于类的、具有VM(虚拟机)平台的多平台编程语言。...单个语句和变量声明以分号结尾。 对于只在屏幕上打印单个字符串的程序来说,这听起来很复杂吗?确实如此,这也是为什么学习 JavaScript 是初学者开发者更好的选择的原因之一。...如何开始使用 JavaScript 编写代码 您只需要具备以下 2 件事即可开始使用 JavaScript: 1.浏览器(谷歌浏览器、Safari、Firefox、Internet Explorer等等...语法和编程概念: 虽然两者都是两种不同的语言,但都共享相同的核心编程概念和一些语法概念,例如: 1.使用编程循环,例如 for 循环、while 循环。...4.常见的共享语法符号,例如代码块定界符{},以分号结尾的代码语句。 相似名称:这个很奇怪,Java 和JavaScript 都有“Java”的共同点,尽管这两种语言完全不同。

4.4K21

大话 JavaScript(Speaking JavaScript):第一章到第五章

分号JavaScript 中,分号是可选的。但是,我建议始终包括它们,因为否则 JavaScript 可能错误猜测语句的结束。详细信息请参见自动分号插入。 分号终止语句,但不终止块。...=)中有解释),这可能隐藏错误。因此,建议始终使用严格相等性。...中的任何函数;语言永远不会抱怨。...循环结束后,i的值为 5,这就是为什么数组中的所有函数都返回该值。...在这个领域的一个风险是分裂,因为我们逐渐得到了太多这样的工具。 JavaScript 的 IDE 空间仍处于萌芽阶段,但正在迅速成长。网络开发的复杂性和动态性使得这个空间成为创新的肥沃土壤。

27810

怎样测试 JavaScript 的函数性能

特别是在为浏览器开发 JavaScript 时,重要的是应该意识到,你编写的每一行 JavaScript 都可能阻塞 DOM,因为它是单线程语言。...像 Firefox 这样的浏览器试图通过把精度降低到 2ms(60版)来防止这种情况。 注意事项 现在你已经拥有了测量 JavaScript 函数运行速度所需的工具。...多次运行函数 假设有一个函数可以遍历数组,并对每个值进行一些计算,然后返回包含结果的数组。你想知道 forEach 或简单的 for 循环哪个更有效。...在这种情况下,Firefox 的优化在 forEach 方面做得比 Chrome 更好。 for 在两个引擎上的性能都更好,所以最好坚持 for 循环。...这是一个很好的例子,说明了为什么应该在多个引擎中进行测量。如果仅用 Chrome 进行测量,你可能会得出:forEach 相对于 for 而言还算不错这样的结论。

1.4K41

不要让 Chrome 成为下一个 IE!

我们主要的顾虑在于:如果一个浏览器占据绝对主导地位,那么开发人员可能忽略其他浏览器,只针对主流浏览器支持的CSS和JavaScript功能集,而不会考虑在其他浏览器中测试交叉兼容性。...但是这个问题先放一放。 03 Firefox浏览器的情况又如何呢?...话虽如此,对于Firefox、Safari和其他任何仍在维护并行实现的人来说这都是一个问题。现在让我们再来看看这个问题。 08 Web标准 这确实是一个大问题。...这个问题就迎刃而解了! 这是一个很常见的Web平台的问题:当某个浏览器展示新Web API时,我们都感到很兴奋,但立即涌现的问题就是:“还要多久我们才能使用这个功能?其他浏览器实现吗?”...我并没有听到太多人抱怨CPython没有激烈的竞争来鼓励实现功能的替代方法,但也许这算不上反驳。也许这对Python社区来说可能是件坏事,他们从竞争中受益。我不太清楚。

57810

Google Chrome 正在走 Windows 的老路

但是,我听到越来越多的人抱怨Chrome。而有些不太成功的浏览器(比如Firefox)似乎拥有更多热情的粉丝。 这其中有几个原因。首先是Chrome庞大的规模。...因为有很多人在使用Chrome,所以与不那么流行的浏览器相比,抱怨Chrome的人更多。而且有些遇到问题的人嚷嚷出来(像我一样)。那些刚刚开始用的人自然不会遇到任何问题,当然也不会不停地抱怨。...而且,你可能会说,我们虽然有诸多的抱怨,但仍在使用Chrome,这其实对Google有利,而且也是对竞争对手的打击。如果Chrome真的有那么令人讨厌,那么我们为什么不使用其他浏览器呢?...虽然我们在抱怨,但不愿意换。对我而言,这两种因素都有。 但是,我们因为爱Chrome而坚持使用Chrome吗?是因为我们喜欢Chrome的性能,或者背后公司的精神?我不确定。... 纯洁的微笑 一个有故事的程序员

55420

Web开发须知:URL编码与解码

原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。   ...大部分应用程序均能处理这种非标准实现的Url编码,但是在客 户端Javascript中,并没有一个函数能够将+号解码成空格,只能自己写转换函数。...之前在使用Aptana(为什么专指aptana下面会提到)遇到一个很迷惑的问题,就是在使用encodeURI的时候,发现它编码得到的结果和我想的很不一样。下面是我的示例代码: <!...但是由于Meta标签中指定了gb2312,这个时候,浏览器就会按照gb2312去解析这个文档,那么自然在"中文"这个字符串这里就会出错,因为"中文"字符串用UTF-8编码过后得到的字节是0xE4 0xB8...另外,很多HTTP监视工具或者浏览器地址栏等在显示Url的时候自动将Url进行一次解码(使用UTF-8字符集),这就是为什么当你在Firefox中访问Google搜索中文的时候,地址栏显示的Url包含中文的缘故

2.4K30

Java程序员,这7个简单但棘手的JavaScript面试问题。你吗?

如果您符合高级开发人员的资格,其工作涉及JavaScript,那么在编码面试中很有可能会被问到棘手的问题。 遵循这个建议:“熟能生巧”。...让我们仔细看一下分号 ; 出现在左大括号 {: 这个分号很容易被忽略,它创建了一个空语句。空语句是不做任何事情的空语句。...此换行符使JavaScript自动在 return 和 [item] 表达式之间插入分号。...当 for() 循环完成时,i 变量的值为 3。 log() 是一个捕获变量 i 的闭包,该变量在 for() 循环的外部范围中定义。请务必注意,闭包可以词法捕获 i 变量。...这就是为什么控制台输出为3、3 和 3 的原因。 如果您难以理解闭包,建议阅读“ JavaScript闭包的简单说明”。 您知道如何将代码段记录为0、1和2吗?请在下面的评论中写下您的解决方案!

87720

为什么要进行URL编码!!!

我们的本意是就只有一个键值对,但是服务端解析成两个键值对,这样就产生了奇异。 如何解决上述问题带来的歧义呢?...另外一个问题,就是为什么我们要用ASCII传输,可不可以用别的编码? 当然可以用别的编码,你自己可以开发一套编码,然后自己解析。就像大部分国家都有自己的语言一样。那国家之间要交流,怎么办?...原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。...之前在使用Aptana(为什么专指aptana下面会提到)遇到一个很迷惑的问题,就是在使用encodeURI的时候,发现它编码得到的结果和我想的很不一样。...另外,很多HTTP监视工具或者浏览器地址栏等在显示Url的时候自动将Url进行一次解码(使用UTF-8字符集),这就是为什么当你在Firefox中访问Google搜索中文的时候,地址栏显示的Url包含中文的缘故

6K30

任务,微任务,队列和时间表

这真的很奇怪,因为Firefox 39和Safari 8.0.7始终如一地正确。 为什么这样 要了解这一点,您需要了解事件循环如何处理任务和微任务。第一次遇到这个问题可能让您大吃一惊。...深呼吸… 每个“线程”都有自己的事件循环,因此每个Web工作者都有自己的事件循环,因此可以独立执行,而同一源上的所有窗口都可以共享事件循环,因为它们可以同步通信。事件循环持续运行,执行所有排队的任务。...事件循环具有多个任务源,这些任务源保证了该源中的执行顺序(如IndexedDB之类的规范定义了它们的执行顺序),但是浏览器可以在循环的每个循环中选择从哪个源中执行任务。...这就是为什么setTimeout在之后script end进行记录的原因,因为日志记录script end是第一个任务的一部分,并setTimeout记录在单独的任务中。...Firefox票证。野生动物园门票。

2.2K20

为什么要进行 URL 编码???

我们的本意是就只有一个键值对,但是服务端解析成两个键值对,这样就产生了奇异。 如何解决上述问题带来的歧义呢?...另外一个问题,就是为什么我们要用ASCII传输,可不可以用别的编码? 当然可以用别的编码,你自己可以开发一套编码,然后自己解析。就像大部分国家都有自己的语言一样。那国家之间要交流,怎么办?...原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。...之前在使用Aptana(为什么专指aptana下面会提到)遇到一个很迷惑的问题,就是在使用encodeURI的时候,发现它编码得到的结果和我想的很不一样。下面是我的示例代码: <!...另外,很多HTTP监视工具或者浏览器地址栏等在显示Url的时候自动将Url进行一次解码(使用UTF-8字符集),这就是为什么当你在Firefox中访问Google搜索中文的时候,地址栏显示的Url包含中文的缘故

1.1K20

如何去了解JavaScript引擎的工作原理

比方说,firebug的console就是一个JavaScript的解释器。...但是,现在很难去界定说,JavaScript引擎它到底算是个解释器还是个编译器,因为,比如像V8(Chrome的JS引擎),它其实为了提高JS的运行性能,在运行之前先将JS编译为本地的机器码(native...比如,之前提到的var a = 1 + 1;,它表示: 左边var代表了这是申明(declaration),它申明了a这个变量 右边的+表示要将1和1做加法 中间的等号表示了这是个赋值语句 最后的分号表示这句语句结束了...这也是为什么JavaScript会有兼容性的问题。至于为什么IE的JS引擎不按照标准来实现,就要说到浏览器大战了,这里就不赘述了,自行Google之。...那么,既然是组成部分,因此一般情况下JavaScript引擎都是浏览器开发商自行开发的。比如:IE9的Chakra、Firefox的TraceMonkey、Chrome的V8等等。

1.2K70

编程语言中间令人无语的规则

“在过去的40年里,有多少错误是由这个小捷径引起的?”浪费了多少CPU周期?发生了多少人为错误?因此,我们应该记住,下次你想在代码中走捷径时,你必须考虑上一课。...“当我第一次了解到JavaScript的时候,它真的伤害我,因为不一致的输入行为使得在最终的检查中很难找到bug。””...编译器不会抱怨null指针,但是想要取消可能导致运行时错误或系统崩溃引用,所以程序员必须尝试做一些防御措施或调试。 “我认为这是一个成本数十亿美元的错误。””...——Tony Hoare 6.JavaScript自动插入分号 JavaScript分号结束了语句,但是JavaScript自动插入一个它认为合适的分号。...在某些情况下,可能会有括号和新的代码块返回,在这种情况下,如果自动插入分号,就会导致语法错误。 这个特性使开发人员的工作变得有些混乱,特别是当你在压缩代码来生产环境的时候。”

1.1K50
领券