代码气味-将布尔控制参数传递给函数
Code smell - passing boolean control argument to function
下面是代码片段,有一些我不喜欢的东西:
function insert(el, child, before){
if ( before ) {
el.insertBefore(child, el.childNodes[0]);
} else {
el.appendChild(child);
}
}
为什么不使用insertBefore
和insertAfter
这样的两个独立方法呢?这种方法和其他方法的优缺点是什么?
更新:
我收到了一篇很好的文章,解释了我想要什么。
此函数的全部目的是避免在调用函数的所有位置都放置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);
}
这并不比原版好多少。
相关文章:
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- JavaScript常量-作为参数传递或直接使用
- 如何将javascript对象作为参数传递到c#web服务中
- 将参数传递给函数
- 如何将Gruntfile.js中的参数传递到webdriverio规范
- javascript,将参数传递给函数内部的闭包中的回调
- Javascript-将包含变量的html字符串作为参数传递
- 将字符串作为参数传递给函数onclick event jquery
- 将修改后的数组作为参数传递给函数
- 在嵌套递归指令中将参数传递给父控制器方法
- each()-将额外的参数传递给回调参数
- 代码气味-将布尔控制参数传递给函数
- 如何将自定义参数传递到FullCalendar事件提要
- 将参数传递给函数,同时保留事件处理程序
- 将图标作为参数传递不会;t工作-谷歌地图
- 如何使用按钮将参数传递给函数
- 如何将多个参数传递给输入's onChange处理程序
- 是否可以在 Javascript 中将未声明的变量作为参数传递