我对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}}。
答案 0 :(得分:1)
您的第一个return
被解释为return ;
,因为ASI
自动分号插入:
7.9.1自动分号插入规则
分号插入有三个基本规则:
- 当从左到右解析程序时,会遇到任何语法生成不允许的令牌(称为违规令牌),然后会自动插入分号如果满足以下一个或多个条件,则为违规令牌:
- 违规令牌与前一令牌分开至少一个
LineTerminator
。- 违规令牌是} 。
- 当从左到右解析程序时,会遇到令牌输入流的末尾,并且解析器无法将输入令牌流解析为单个完整的ECMAScript
Program
,然后是分号将自动插入输入流的末尾。- 当从左到右解析程序时,会遇到某些语法生成所允许的令牌,但生产是限制生产,令牌将是第一个紧跟在限制生产中注释“ [no
醇>LineTerminator
here ”之后的终端或非终端的令牌(因此这样的令牌称为受限令牌),受限令牌是通过至少一个 LineTerminator 与前一个标记分开,然后在限制标记之前自动插入分号。但是,前面的规则还有一个额外的重要条件:如果分号将被解析为空语句,或者如果该分号将成为<的标题中的两个分号之一,则永远不会自动插入分号kbd> for 语句(见12.6.3)。