• 分号

    2009-01-16 11:33:00
    分号“;”作为当前语句的结束符。var x = 25;var y = 16;var z = x + y;//当然,也可以将多个语句写在同一行中var u = 25; var v = 16; var w = u + v;//另外,语句分行后,作为语句结束符的分号可省略var r = 25...

    var x = 25;
    var y = 16;
    var z = x + y;
    var u = 25; var v = 16; var w = u + v;
    var r = 25
    var s = 16
    var t = r + s

  • 分号-源码

    2021-02-17 21:14:08
  • split 逗号或分号…that is the question. …就是那个问题。 One of the most common JavaScript questions I am asked by students (apart from “Why??”) relates to the semicolon as a line terminator. Many ...

    split 逗号或分号

    …that is the question.


    One of the most common JavaScript questions I am asked by students (apart from “Why??”) relates to the semicolon as a line terminator. Many websites and tutorials will briefly state that the use of semicolons in JavaScript is optional, which can leave the learner confused — should semicolons be used or not?

    学生问我的最常见JavaScript问题之一(“为什么?”除外)与分号作为行终止符有关。 许多网站和教程都会简要说明JavaScript中分号的使用是可选的,这可能会使学习者感到困惑-是否应使用分号?

    In this article, I’ll state my personal preference (feel free to disagree with me). But, first, where did all this semicolon business come from?

    在本文中,我将陈述我的个人喜好(随意不同意我的看法)。 但是,首先,所有这些分号业务从何而来?

    分号简史 (A Brief History Of The Semicolon)

    The short answer: semicolons are used so that the compiler or interpreter knows where the end of the statement is. Many languages, such as JavaScript, ignore whitespace completely. In JavaScript, this line:

    简短的答案:使用分号,以便编译器或解释器知道语句结尾在哪里。 许多语言(例如JavaScript)完全忽略空格。 在JavaScript中,此行:

    Image for post

    is interpreted exactly the same as this:


    Image for post

    The use of semicolons helps to differentiate between statements. It is often seen as something that started with the C programming language; however, earlier languages such as Algol and C’s predecessor, BCPL, also used the semicolon. COBOL uses the full stop (or period, if you prefer) as a semantic terminator. The reason we have semicolons as statement separators in JavaScript today owes a lot to languages such as C and Java, and the intention of making the language non-whitespace dependent.

    分号的使用有助于区分语句。 它通常被视为从C编程语言开始的东西。 但是,较早的语言(例如Algol和C的前身BCPL)也使用了分号。 COBOL使用句号(或句点,如果您愿意)作为语义终止符。 今天,我们在JavaScript中使用分号作为语句分隔符的原因很大程度上归功于C和Java之类的语言,以及使该语言不依赖空白的意图。

    但是……有人告诉我它们是可选的吗? (But…I was told they are optional?)

    This is where some of the confusion starts to come in. I’ve always viewed JavaScript as a language with a deep inferiority complex that desperately wants programmers to like it. As a result, features are added to try and make JavaScript more popular with the developer but often end up being the most derided and confusing.

    这就是一些混乱开始出现的地方。我一直将JavaScript视为一种具有深厚自卑感的语言,迫切希望程序员喜欢它。 结果,添加了功能以尝试使JavaScript在开发人员中更受欢迎,但通常最终被嘲笑得最混乱。

    Type coercion and “optional” semicolons are, to me, indications of JavaScript’s neuroses. As Douglas Crockford eloquently put it, “In JavaScript, there is a beautiful, highly expressive language that is buried under a steaming pile of good intentions and blunders.”

    对我来说,类型强制和“可选”分号表示JavaScript的神经症。 正如道格拉斯·克罗克福德(Douglas Crockford)雄辩地指出的那样:“在JavaScript中,有一种优美而富有表现力的语言被埋在大量的善意和错误之中。”

    “In JavaScript, there is a beautiful, highly expressive language that is buried under a steaming pile of good intentions and blunders.”


    So, back to semicolons. Strictly speaking, semicolons are not optional in JavaScript. It’s just that, if you leave them out then a feature called Automatic Semicolon Insertion, or ASI, will do it for you. Now, ASI doesn’t actually physically insert the semicolons in your code, but when the code is executed, ASI will use a pre-determined set of rules to interpret where a semicolon should have been.

    因此,回到分号。 严格来说,分号在JavaScript中不是可选的。 就是这样,如果您不使用它们,则称为自动分号插入(ASI)的功能将为您完成。 现在,ASI并没有实际在代码中插入分号,但是在执行代码时,ASI将使用一组预定规则来解释分号应在的位置。

    Even with ASI, there are some places where semicolons should always be used, otherwise, you can get unexpected behaviour. Here’s a case in point:

    即使使用ASI,在某些地方也应始终使用分号,否则,您可能会遇到意想不到的行为。 这是一个例子:

    Image for post

    It’s a bit of a contrived example, but what you’d expect to end up with is: a = 1, b = 2, c = 3, and then a + b would be converted to a string, “3”. Due to the lack of semicolons, however, this code will fail with an error and say that “b is not a function”. This is because ASI is interpreting the code like this:

    这是一个人为的示例,但是您最终希望得到的结果是:a = 1,b = 2,c = 3,然后a + b将转换为字符串“ 3”。 但是,由于缺少分号,该代码将失败并显示错误,并指出“ b不是函数”。 这是因为ASI会这样解释代码:

    Image for post

    Again, as I said, it’s heavily contrived, but it shows how ASI can trip you up if you don’t follow the rules.


    那么,我是否应该使用它们? (So, should I use them or not?)

    The easy answer is that it’s entirely up to you. But, since you’ve persevered to the end of this article, it’s only fair that I give you my opinion. And, that opinion is “Yes. Learn the rules and use semicolons in your code.”

    简单的答案是,这完全取决于您。 但是,由于您一直坚持到本文结尾,所以我给您我的意见是公平的。 而且,该意见是“是的。 了解规则并在代码中使用分号。”

    …since you’ve persevered to the end of this article, it’s only fair that I give you my opinion. And, that opinion is “Yes. Learn the rules and use semicolons in your code.”

    …由于您一直坚持到本文的结尾,因此请您发表我的看法是公平的。 而且,该意见是“是的。 了解规则并在代码中使用分号。”

    The reason I say this, and encourage my students to do the same, is that I like code to be predictable. I don’t like edge cases. Enough issues can arise in coding as it is, so eliminating areas of uncertainty is important to me. If you follow the semicolon rules, then you’re not going to get into trouble if ASI doesn’t work as you expect.

    我之所以这样说,并鼓励我的学生也这样做,是因为我喜欢代码是可预测的。 我不喜欢这种情况。 照原样编码可能会出现很多问题,因此消除不确定性区域对我很重要。 如果您遵循分号规则,那么即使ASI不能按预期工作,也不会给您带来麻烦。

    You don’t need to agree with me, and I’d be happy to hear opposing opinions, but whatever you decide, just be consistent. For me, to return to the title of this piece and entirely misquote Shakespeare, ’tis nobler in mind to suffer the slings and arrows of outrageous JavaScript rather than to take arms against a sea of semicolons and by ASI end them.

    您无需同意我的意见,我很乐意听到反对意见,但是无论您做出什么决定,只要保持一致即可。 对我来说,要回到本文的标题并完全误引用莎士比亚的话,请记住要忍受残酷JavaScript的攻击,而不是屈服于分号之海,而在ASI的帮助下结束它们。

    翻译自: https://levelup.gitconnected.com/to-semicolon-or-not-to-semicolon-a2e337827bcb

    split 逗号或分号

  • js分号

    2020-03-24 09:41:32
    在js,不加分号也 是有效的语句。 但是如果你喜欢不加分号, 要在以 “(”、"[" 、"/"、"+"、"-" 开头的语句前面都加上一个分号。否则可能出现语句和上一条语句相连达到预想之外的效果。 ...

    在js,不加分号也 是有效的语句。
    要在以 “(”、"[" 、"/"、"+"、"-" 开头的语句前面都加上一个分号。否则可能出现语句和上一条语句相连达到预想之外的效果。

  • 检查许多遍逻辑没有问题,但是输出结果一直不对,今天又拿出来看看,还是觉得没问题,于是我就请教同学,在各个地方加printf输出,发现一开始的数组输入就没有输进去,但是都没在意到for语句后面多的分号,重新建了...
    1月22 号写了一个程序,检查许多遍逻辑没有问题,但是输出结果一直不对,今天又拿出来看看,还是觉得没问题,于是我就请教同学,在各个地方加printf输出,发现一开始的数组输入就没有输进去,但是都没在意到for语句后面多的分号,重新建了一个文件,重写程序,完全没问题,又回去找,终于看到了分号!!!!!!一个分号耽搁了我那么久;
  • Latex 乘号 分号

    千次阅读 2020-06-30 16:51:50
    Latex 乘号 分号 \frac{}{}:分号 \times: 乘号 举例:
  • Scala分号

    2020-08-02 23:34:16
    迪杰斯卡拉算法 Scala分号 (Scala semicolons) A semicolon or semi-colon (;) is a punctuation mark in programming, it is used to separate multiple lines of code. It is common in major programming ...
  • javascript 分号Semicolons in JavaScript divide the community. Some prefer to use them always, no matter what. Others like to avoid them. JavaScript中的分号分隔社区。 有些人更喜欢始终使用它们,无论...
  • JavaScript并不是在换行出都填补分号:只是在缺少了分号就无法正确解析代码的时候,JavaScript才会填补分号。 a = 3; b = 4; 在这种情况下,两条语句用两行书写,第一个分号是可以省略掉的。 a = 3; b = 4; 在这种...
  • javascript每条语句都是以分号结束,但由于javascript具有分号自动插入规则,所有不同的编程人员有不同的习惯,有的加分号,有的不加分号,那么到底加分号好还是不加分号好?本文章向大家探讨javascript每条语句该不...
  • javascript 分号

    2017-03-28 11:29:31
    ECMAScript 中的语句 以一个分号结尾,如果省略分号,则由解析器确定语句的结尾。 var sum = a + b //即使没有分号也是有效的语句 -------- 不推荐 var diff = a - b; //有效的语句 ---------推荐
  • 在 JavaScript 中,行尾的分号有一种自动插入机制,这样子,可以容忍某些朋友忽略了输入分号。 当然你最好养成输入分号的习惯,同时掌握 JavaScript 是如何处理忽略输入分号的情况的,因为这种知识有助于你理解没有...
  • javascript 分号jk k jsdrama.com is live though. Enjoy and feel free to add more next time. jsdrama.com虽已上线。 尽情享受,下次再添加更多。 (image from wikipedia) (图片来自维基百科) Tell ...
  • 分号 一种仅由分号组成的深奥语言。 您无法逃脱分号符! 安装及使用 阅读以了解用法和说明 如果您喜欢这个项目,请观看并我。 贡献者 这是列表 我接受拉取请求并保证在一天之内回复 执照 MIT / X11 错误报告 报告。...
  • php分号问题

    2018-12-10 11:55:05
    有时不用分号可以,有时不用分号又报错了,这到底是怎么回事呢? 其实是这样的:在php中,各个语句使用分号隔开。 这句话里面有这么几个意思: 1、只有一句的,不需要分号。 2、有多句的,每两个语句之间需要分号。 ...
  •  我们在写js代码时发现有时候没写分号也不会报错,但是有时候就报错了,到底什么时候该写,什么时候不用写呢?  我不想看规则,直接看结论 自动分号插入机制  JavaScript有着自动分号插入的机制(Automatic ...
  • JS中function 的开头有必要加分号吗?js语句后应该加分号吗? javascript大括号后面应使用分号吗?JS中function 的开头有加感叹号、分号是什么意思呢? Js多个文件集成成一个文件后,压缩代码时避免发生语法错误,...
  • JavaScript自动加分号规则,有3条 当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号。 当有}时,如果缺少分号,会补分号 当程序源代码结束时,如果缺少分号,会补...
  • java 分号

    2014-03-12 11:45:54
    今天发现个分号 问题 ,不过不是啥大问题 两个分号 编译 运行 都没问题。 转载于:https://blog.51cto.com/nobelking/1373882
  • 编程分号问题

    2020-03-24 22:44:19
    分号不通过原因: 半角中文 全角状态下中文或英文 只有半角下英文才可输入
  • oracle数据库 SQL命令用加分号么 SQL命令 用加分号么? SQLPlus里执行SQL文可以加分号或者是/ 如果不加的话,会被认为SQL文没写完,不会被执行。 SQL文以外的SQLPlus命令,比如set之类的 加不加分号都可以执行。 .....
  • 邮件加分号模板

    2013-12-02 14:25:59
  • javascript的分号

    2019-01-18 13:53:56
    有关javascript写不写分号的争论,正如C++中的大括号应该写到哪一行一样,纷纷纭纭,每个的支持者都能找到一大堆理由。 我是个C++出身的程序员,因此对于这个争论不感兴趣,分号那是写习惯了的,不写分号总觉得心里...
  • ESLint语法检查--semi(分号)规则

    万次阅读 2019-07-29 15:15:37
    在多数情况下,JavaScript 引擎能够自行确定在某个位置是否需要分号,并在需要时为我们自动添加上分号。这一特性被称作自动分号插入(automatic semicolon insertion,简称ASI),并且成为了J...
  • 一开始,关于在node.js句末不加分号,我是拒绝的。因为有时不加分号会报错。 我觉得node.js在语法层面挺拧巴的,要么就像PHP那样严格要求加分号,要么就像python一律不加分号。而node.js却表现出一副欲拒还迎的姿态...
  • 邮箱分号

    2013-05-03 20:29:07
  • 主要介绍了JavaScript中的分号插入机制详细介绍,本文讲解JavaScript中各种情况下的分号插入机制,需要的朋友可以参考下



1 2 3 4 5 ... 20
收藏数 34,751
精华内容 13,900