Jus*_*dry 2 javascript arrays variables for-loop variable-assignment
function ReplaceContentInContainer(matchClass,content)
{
var elems = document.getElementsByTagName('*'), i;
for (i in elems)
{
if((" "+elems[i].className+" ").indexOf(" "+matchClass+" ") > -1)
{
elems[i].innerHTML = content;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚逗号在变量赋值中的作用('*'), i;
以及for (i in e)循环中的含义.
我最好的猜测是e分配给文档节点中的所有元素以及 i.那么这是否意味着它i是数组中元素数量的计数或引用e(它是一个数组吗?)?
编辑:好的.它只是实例化变量(i),然后i在for循环中计算对象中的所有元素elem.
这只是简单地分隔声明.
var elems = document.getElementsByTagName('*'), i;
Run Code Online (Sandbox Code Playgroud)
是相同的
var elems = document.getElementsByTagName('*');
var i;
Run Code Online (Sandbox Code Playgroud)
一个更简洁,另一个可能被认为更具可读性.
在您的确切情况下,您可以使用
var elems = document.getElementsByTagName('*');
for (var i in elems)
Run Code Online (Sandbox Code Playgroud)
在我看来,这将是最好的,因为目的i本来是显而易见的.
由于变量的范围是函数(或全局)而不是块,因此它将完全相同.