• 在圆括号内将长代码行破坏的危险是什么?
  • Java脚本何时可以自动插入分号(大概是危险的做法,对吗?)。
  • 为什么要使用)作为JSLint“不赞成”的换行器?

  • 在Javascript中,有时会看到一排长长的代码在像这样的)( example )中分解:
    function ()
    {
    

    或这样( example ):
    object.methodOne()
          .methodTwo();
    

    但是在阅读 line break expectations for jsLint 时,它说:


    , ; : { } ( [ = < > ? ! + - * / % ~ ^ | &
    == != <= >= += -= *= /= %= ^= |= &= << >> || &&
    === !== <<= >>= >>> >>>=
    


    . ) ] ++ --
    

    因此,将括号括起来作为JSLint“不希望看到的”换行符。

    我更喜欢使用
    function()
    {
    

    因为我发现它更具可读性,并且已经在其他语言中使用过,但是目前我使用:
    function () {
    

    我可以安全地使用)分解长行吗?

    最佳答案

    该链接应说明所有这些:

    JavaScript Semicolon Insertion

    “危险”与(摘自上面的链接,并强调):


    function()不在该“危险”列表中。但是,在编写分号自由代码时(我不确定这是否是您的目标:-),应该防止以字符开头的行(例如([)开始或继续一个表达式。以下代码显示了可能错误的代码示例:

    x()
    (function (){...})()
    

    如您所见,使用)作为换行符可以使表达式能够继续巧妙地运行,而无需显式分号,下一行可以继续表达式。我将程序编写为(如果确实是以下目的):
    x()
    ;(function (){...})()
    

    我个人不喜欢JSLint :-)
    快乐的编码。

    09-30 13:26