2016-06-25 8 views
0

Hallo Ich habe einige JavaScript-Funktionen in meinem Projekt. Diese Funktionen setzen meistens HTML-Tag-Werte als wahr oder falsch. Sind diese Operationen nach Standard-Programmierpraxis. Wie man solche Funktionen umgestaltet?Sollten wir zwei Funktionen in JavaScript zusammenführen, wenn sie die gleiche Aufgabe ausführen?

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 + '" />'; 
 

 
    }

Meine Frage ist, sollte ich es verschmelzen und die Funktionen einer Variablen zuweisen und geben den Wert wie dieser

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 + '" />'; 
 

 
    }

Was die optimiert ist Lösung.

Vielen Dank im Voraus.

+1

Hinweis: Eine Funktion mit einem Argument – charlietfl

Antwort

0

Nun, es liegt an Ihnen, mehrere Funktionen zu behalten, die 'die gleiche' Aufgabe ausführen oder sie in einer Funktion refrazieren. Der Zweck des Mergens besteht darin, den Code auf lange Sicht einfacher zu verwalten und den Code sauberer zu machen.

Bei Code Verschmelzung wäre es so etwas wie dieses:

function func(str){ 
     if(myArray[questionIndex] ==1) 
     var question = "true"; 
     else 
     question = "false";  

      str = str + '<flag isFlagged="' + question + '" />'; 
return str; 
    } 

Dann können Sie diese Funktion wie folgt aufrufen:

firstStr = func(firstStr); 
secondStr = func(secondStr); 

Hoffnung, das hilft.

0

Wie wäre:

function result(str) { 
    var resultValue = "" 
    if (myArray[questionIndex] === 1) 
    resultValue = "true"; 
    else 
    resultValue = "false";  
    return str + '<flag isFlagged="' + str + '" />'; 
} 

Auch Sie einige Alias ​​definieren:

function first() { firstStr = result(firstStr); } 
function second() { secondStr = result(secondStr); }