[英]Is there a better way to write these functions?
无论如何,我都不是JavaScript程序员,但这使我很长时间以来一直很烦,
有没有更好的方法来编写这两个单独的函数。 作为一个单一的功能?
function showAll()
{
var collection = getElementsByClassName("dealHolder");
for (var x = 0; x < collection.length; x++)
{
setParentTrue(collection[x].parentNode);
}
}
function setParentTrue(obj) {
if (obj.id != "deal")
{
obj.id = "true";
setParentTrue(obj.parentNode);
}
else
{
obj.style.display = 'block';
}
}
我可以在另一个函数中声明一个函数并递归调用它吗? 每当我需要递归时,我似乎总是为它创建一个单独的函数
为建议喝彩
function showAll()
{
var collection = getElementsByClassName("dealHolder"),
x = 0,
setParentTrue = function(obj) {
if (obj.id != "deal")
{
obj.id = "true";
setParentTrue(obj.parentNode);
}
else
{
obj.style.display = 'block';
}
};
for (x = 0; x < collection.length; x++)
{
setParentTrue(collection[x].parentNode);
}
}
是的,您可以在函数内声明一个函数,因为函数是对象。
function showAll()
{
var setParentTrue = function (obj) {
if (obj.id != "deal")
{
obj.id = "true";
setParentTrue(obj.parentNode);
}
else
{
obj.style.display = 'block';
}
}
var collection = getElementsByClassName("dealHolder");
for (var x = 0; x < collection.length; x++)
{
setParentTrue(collection[x].parentNode);
}
}
实际上-编写一个单独的函数来保存循环中发生的事情是一种好习惯,因此我不会更改上面的内容。
实际上-不,我不希望这样做-在这种情况下,循环中的函数不太可能对其他任何人都可用,因此我将使用以下示例之一。 嵌套在同一对象中,但仍具有独立的功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.