代码之家  ›  专栏  ›  技术社区  ›  Mohsen Alyafei

为什么行上的数字本身不会产生错误(Javascript)

  •  0
  • Mohsen Alyafei  · 技术社区  · 6 年前

    有人能解释一下为什么这些Javascript行不会产生任何错误吗? 这通常会在许多其他语言中产生错误。

    11111111111111111111111;
    221.2;
    0.11111111111111111111111
    4;
    5
    7,
    .22;
    .0;
    -22;
    111111111111111111111/1111111111111111111
    +45;
    45-12
    22+22
    1 回复  |  直到 6 年前
        1
  •  2
  •   ehab    6 年前

    这些都是表达式,当您在javascript引擎中输入表达式时,引擎会尝试计算表达式。但由于这些表达式只是数字和运算,所以引擎在计算它们的值时没有问题。

     Uncaught ReferenceError: x is not defined
    

    编辑给出这种语法背后的原因的历史观点


    虽然js可以强制执行这样的规则,但是解释语言通常希望能够尽快执行代码,添加这样的规则会减慢这一过程——因此,另一个为什么要添加这样的语法的原因。