我只是想知道这个for循环中散布的分号的用途是什么(在jQuery.js中找到)
if ( isArray ) {
// ... here
for ( ; i < length; i++ ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret[ ret.length ] = value;
}
}
}
我在整个档案中都看过几次。
P.S。另外,如何更好地阅读复杂的JS?我觉得很难跟踪事情,你认为这是由于缺乏知识/经验,还是我应该以某种方式阅读?
谢谢
答案 0 :(得分:4)
for
有三个可选表达式,它们是
for ([initialization]; [condition]; [final-expression])
如果不需要initialization
,则不会传递任何内容,但从上面可以看出,分号需要关闭该表达式并转到condition
部分
for ( ; i < length; i++ ) {
如果您不需要final-expression
for ( var i=10; i--; )
换句话说,两个分号都是必需的,但表达式是可选的,可以是空的
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for
答案 1 :(得分:0)
for
需要三个部分,以分号分隔。在这种情况下,第一部分,即初始化步骤,不存在/什么都不做。