我刚刚在 Mozilla 网站上看到了这段代码,虽然对我来说它看起来很糟糕,但我可能不熟悉它的用法:
for (; k < len; k++)
{
if (k in t && t[k] === searchElement)
return k;
}
循环开头的分号如何工作?
完整的代码是here.
第一部分是初始表达式用于初始化变量(参见for构造):
for ([initial-expression]; [condition]; [final-expression])
statement
在这种情况下,括号意味着它是可选的。因此,如果没有任何要初始化的变量,则无需编写任何初始化表达式。就像在这种情况下k
在之前初始化for
loop:
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;
}
你也可以写成初始表达式部分,但这不是那么可读:
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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)