gpt4 book ai didi

javascript - 代码气味 - 将 bool 控制参数传递给函数

转载 作者:行者123 更新时间:2023-12-02 14:41:12 25 4
gpt4 key购买 nike

下面是代码片段,有一些我不喜欢的地方:

function insert(el, child, before){
if ( before ) {
el.insertBefore(child, el.childNodes[0]);
} else {
el.appendChild(child);
}
}

为什么不使用两个单独的方法,例如 insertBeforeinsertAfter?这种方法和其他方法的优点和缺点是什么?

更新:

我得到了这个很好的article解释我想要什么。

最佳答案

此函数的全部目的是避免在调用该函数的所有位置都放置 if 语句。因此,如果您有很多类似的地方:

if (something) {
foo.insertBefore(bar, foo.childNodes[0]));
} else {
foo.appendChild(bar);
}

您可以将它们全部简化为:

insert(foo, bar, something);

用你的两种方法,它会变成:

if (something) {
insertBefore(foo, bar);
} else {
insertAfter(foo, bar);
}

这并不比原来的好太多。

关于javascript - 代码气味 - 将 bool 控制参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36989140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com