如果JavaScript中的两个函数执行相同的任务,我们应该合并它们吗?
Should we merge two functions in JavaScript if they perform the same task?
嗨,我有一些JavaScript函数在我的项目。这些函数主要是将html标记值设置为true或false。这些操作是否符合标准编程实践?如何重构这样的函数?
function first(){
if(myArray[questionIndex] ==1)
var question = "true";
else
question = "false";
firstStr = firstStr + '<flag isFlagged="' + question + '" />';
}
function second() {
if(myArray[questionIndex] ==1)
var question = "true";
else
question = "false";
secondStr = secondStr + '<flag isFlagged="' + question + '" />';
}
我的问题是我是否应该合并它并将函数分配给一个变量并返回这样的值
var resultValue(){
if(myArray[questionIndex] ==1)
return "true";
else
return "false";
}
function first(){
var question = resultValue();
firstStr = firstStr + '<flag isFlagged="' + question + '" />';
}
function second() {
var question = resultValue();
secondStr = secondStr + '<flag isFlagged="' + question + '" />';
}
最优解是什么
如何:
function result(str) {
var resultValue = ""
if (myArray[questionIndex] === 1)
resultValue = "true";
else
resultValue = "false";
return str + '<flag isFlagged="' + str + '" />';
}
也可以定义一些别名:
function first() { firstStr = result(firstStr); }
function second() { secondStr = result(secondStr); }
好吧,这取决于你保持多个函数执行"相同"的任务或将它们折射到一个函数中。合并的目的是帮助您在长期运行中更容易地维护代码,并使您的代码更干净。
在合并代码的情况下,应该是这样的:
function func(str){
if(myArray[questionIndex] ==1)
var question = "true";
else
question = "false";
str = str + '<flag isFlagged="' + question + '" />';
return str;
}
然后你可以像这样调用这个函数:
firstStr = func(firstStr);
secondStr = func(secondStr);
相关文章:
- 当使用Watchify时,Browserify+Babelify Gulp任务没有终止
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 为什么不'我们在javascript中使用函数参数的数据类型
- gulp Iconify任务抛出错误TypeError:Path必须是字符串.收到false
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- 如果助手不在,如何从Grunt中的代码中调用任务
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- WinJS(WP8.1):从后台任务更新辅助磁贴
- 如何使用gump任务将html转换为javascript字符串
- 在等待异步任务时永久循环
- 我们怎样才能将内含子J用于一组特定的元素
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 我们可以使用任意的编程语言来动态化HTML页面吗
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 如何在dhtmlxgantt中保存任务
- 我们如何在dailymotion播放器的新测试版中播放youtube视频
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 如何为requirejs和qunit设置grunt任务
- 如果JavaScript中的两个函数执行相同的任务,我们应该合并它们吗?