2016-07-23 31 views
0

Ich habe verschiedene Funktionen, die Werte zurückgeben; Also habe ich verschiedene Funktionen erstellt, um beide Werte zu summieren.Wie zwei verschiedene Funktionen in Javascript summieren

function result(){ 
    var result = firstFunct() + secondFunct(); 
    alert(result); 
    return result; 
} 

Und es gibt für mich ein Ergebnis wie Verbindung von zwei Saiten: 1010 statt 20. Welche Art von Operator muß ich zwei Summe beide benutzen?

+1

Stellen Sie sicher, dass aus diesen Funktionen Zahlen zurückkehren, nicht Strings, und Sie die 'alert()' Funktion nicht zurück, sondern das Ergebnis. – adeneo

+0

Beachten Sie auch, dass es verwirrend ist, eine Variable ('result') mit demselben Namen wie die Funktion zu haben. –

Antwort

3

Dies liegt wahrscheinlich daran, dass Ihre Funktionen eine Zeichenfolge und keinen numerischen Datentyp zurückgeben. Sie müssen die Ausgabe der Funktionen

var result = Number(firstFunct()) + Number(secondFunct()); 

Hinweis, Gießen auf eine Zahl werfen auch in einem kürzeren Weg getan werden könnte, mit dem + Betreiber:

var result = (+firstFunct()) + (+secondFunct()); 
+0

Danke, es funktioniert ... Ich war verdächtig es ist eine Zeichenfolge. Danke noch einmal! – MrVitaminasG

+0

@MrVitaminasG - könnten Sie diese Antwort akzeptieren? –

+0

Ich warte auf Countdown zur Abstimmung. Das System gibt nicht sofort zu wählen – MrVitaminasG

0

in einem numerischen Um werfen Sie auch tun kann:

var num = 1 * numericstring;

+0

Nun, '+ numericString' ist wahrscheinlich vorzuziehen. –

+0

Dies kann als Verkettung misshandelt werden. – Thevs

+0

Von wem auf welche Weise misshandelt? Das unäre plus hat genau eine Bedeutung. Laut der Dokumentation: "Der unäre Plus-Operator steht vor seinem Operanden und wertet seinen Operanden aus, aber ** versucht, ihn in eine Zahl ** umzuwandeln, falls es nicht schon geschehen ist." –

Verwandte Themen