您好,我的项目中有一些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 + '" />';
}
&#13;
我的问题是我应该合并它并将函数分配给变量并返回像这样的值
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 + '" />';
}
&#13;
什么是优化的解决方案。
提前致谢。
答案 0 :(得分:0)
嗯,由您决定保持多项功能表现相同&#39;任务或将它们折射成一个功能。合并的目的是帮助您更长时间地维护代码,并使代码更加清晰。
如果合并你的代码,它将是这样的:
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);
希望这有帮助。
答案 1 :(得分:0)
怎么样:
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); }