Ste*_*hen 5 javascript syntax for-loop
我刚刚在Mozilla网站上遇到过这段代码,虽然对我看起来很破旧,但我可能不熟悉它的用法:
for (; k < len; k++)
{
if (k in t && t[k] === searchElement)
return k;
}
Run Code Online (Sandbox Code Playgroud)
分号在循环开始时如何工作?
完整的代码在这里.
Gum*_*mbo 13
第一部分是初始化表达式,用于初始化变量(参见for构造):
for ([initial-expression]; [condition]; [final-expression])
statement
Run Code Online (Sandbox Code Playgroud)
在这种情况下,括号意味着它是可选的.因此,如果没有任何初始化变量,则不需要编写任何初始化表达式.就像在这种情况下,k在for循环之前初始化:
var k = n >= 0
? n
: Math.max(len - Math.abs(n), 0);
for (; k < len; k++)
{
if (k in t && t[k] === searchElement)
return k;
}
Run Code Online (Sandbox Code Playgroud)
您也可以将其写为初始表达式部分,但这不是那么可读:
for (var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0); k < len; k++)
{
if (k in t && t[k] === searchElement)
return k;
}
Run Code Online (Sandbox Code Playgroud)