在Java脚本中,变量赋值后的逗号
function ReplaceContentInContainer(matchClass,content)
{
var elems = document.getElementsByTagName('*'), i;
for (i in elems)
{
if((" "+elems[i].className+" ").indexOf(" "+matchClass+" ") > -1)
{
elems[i].innerHTML = content;
}
}
}
我想弄清楚逗号在变量赋值中的作用
以及for (i in e)
循环中的含义。
我最好的猜测是e
被分配给文档节点中的所有元素以及i
。那么,这是否意味着i
是数组e
中元素数的计数或引用(它是一个数组吗?)?
编辑:
好吧。它只是实例化变量(i
),然后i
在for
循环中计算对象elem
中的所有元素。
解决方案
简单地分隔声明。
var elems = document.getElementsByTagName('*'), i;
与
相同var elems = document.getElementsByTagName('*');
var i;
一个更简洁,另一个可能更具可读性。
在您的情况下,您可以使用
var elems = document.getElementsByTagName('*');
for (var i in elems)
在我看来,这是i
最明显的目的。
由于变量的作用域是函数(或全局)而不是块,因此它们应该是完全相同的。
相关文章