退货后返回' jQuery函数中的关键字

时间:2013-10-21 02:00:26

标签: jquery filter code-formatting

我对jQuery .filter()函数

有一个小问题

这种结构不起作用(我得到一组空元素):

jQuery( selector )
.filter( function() {
    return
        long_condition_1 &&
        long_condition_2 &&
        ...
        long_condition_N
} );

这种结构对我有用:

jQuery( selector )
.filter( function() {
    return long_condition_1 &&
        long_condition_2 &&
        ...
        long_condition_N
} );

为什么需要在return关键字后设置空格字符?

我使用npp代码编辑器。我尝试为行结尾设置UNIX-format,为WIN-format设置{{1}}。

1 个答案:

答案 0 :(得分:1)

您的第一个return被解释为return ;,因为ASI自动分号插入:

  

7.9.1自动分号插入规则

     

分号插入有三个基本规则:

     
      
  1. 当从左到右解析程序时,会遇到任何语法生成不允许的令牌(称为违规令牌),然后会自动插入分号如果满足以下一个或多个条件,则为违规令牌:   
        
    • 违规令牌与前一令牌分开至少一个LineTerminator
    •   
    • 违规令牌是}
    •   
  2.   
  3. 当从左到右解析程序时,会遇到令牌输入流的末尾,并且解析器无法将输入令牌流解析为单个完整的ECMAScript Program,然后是分号将自动插入输入流的末尾。
  4.   
  5. 当从左到右解析程序时,会遇到某些语法生成所允许的令牌,但生产是限制生产,令牌将是第一个紧跟在限制生产中注释“ [no LineTerminator here ”之后的终端或非终端的令牌(因此这样的令牌称为受限令牌),受限令牌是通过至少一个 LineTerminator 与前一个标记分开,然后在限制标记之前自动插入分号。
  6.         

    但是,前面的规则还有一个额外的重要条件:如果分号将被解析为空语句,或者如果该分号将成为<的标题中的两个分号之一,则永远不会自动插入分号kbd> for 语句(见12.6.3)。