Javascript “的开头分号是如何工作的?”;为了“什么?”;?
我刚刚在Mozilla网站上发现了这段代码,虽然对我来说它看起来很糟糕,但我可能不熟悉它的用法:Javascript “的开头分号是如何工作的?”;为了“什么?”;?,javascript,for-loop,syntax,Javascript,For Loop,Syntax,我刚刚在Mozilla网站上发现了这段代码,虽然对我来说它看起来很糟糕,但我可能不熟悉它的用法: for (; k < len; k++) { if (k in t && t[k] === searchElement) return k; } (;k=0 ? N :Math.max(len-Math.abs(n),0); 对于(;k=0?n:Math.max(len-Math.abs(n),0);k
for (; k < len; k++)
{
if (k in t && t[k] === searchElement)
return k;
}
(;k
{
if(t中的k&&t[k]==searchElement)
返回k;
}
分号在循环开始时是如何工作的
完整代码是第一部分是用于初始化变量的初始表达式(请参阅):
括号表示在本例中它是可选的。因此,如果没有任何要初始化的变量,则不需要编写任何初始值设定项表达式。类似于在这种情况下,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;
}
var k=n>=0
? N
:Math.max(len-Math.abs(n),0);
对于(;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;
}
(var k=n>=0?n:Math.max(len-Math.abs(n),0);kfor (;;) {
//infinite loop
}
谢谢,我没有意识到变量是可选的,现在这样看是有意义的。真的-太多的英语语法:)
for (;;) {
//infinite loop
}