Funktion gibt den String nicht zurück

messmar

Erfahrenes Mitglied
Guten Morgen,

warum kann man bei dieser Funktion keinen String mit dem Key word: return zurück geben?
Über console.log(); geht's. Ich gebe zu, dass ich es mal irgendwie wusste, aber grade komme ich
nicht mehr drauf.

Javascript:
function testLogicalAnd(num) { 
    //console.log( num );
    //console.log( num > 50 );

    if ( num < 50 ) {
        //return "yes"; 
        console.log('Yes');
    } else {
    return "No"; 
    //console.log('No');
    }  
} 
testLogicalAnd(30);

Vielen Dank
Messmar
 
Gerne, es ist nur die Funktion standalone wie ich sie hier gepostet habe:
https://jsfiddle.net/akasbi/q0bafns4/1/

Die andere Variante wo es funktioniert und es den String zurückgibt ist wenn ich die Funktion innerhalb
der console.log(); ausführe.

Javascript:
console.log( testLogicalAnd(30) );
 
Zuletzt bearbeitet:
Gerne, es ist nur die Funktion standalone wie ich sie hier gepostet habe:
https://jsfiddle.net/akasbi/q0bafns4/1/
Um lediglich den JS-Code betrachten zu können, bedarf es keines speziellen Fiddle-Links - zumal es sich um das Duplikat des hier schon gezeigten Codes handelt :rolleyes:

Ich hatte aber meine Bitte nach einem Demo so formuliert:
Da die grundsätzliche Theorie in Deiner Scriptumgebung nicht funktionieren will, kannst Du die beiden erfolglosen Versuche (return true/false und return Variable) bitte mal in einem nachvollziehbaren Fiddle-Demo zeigen?
Das bedeutet sinngemäß, Deine beiden gescheiterten Versuche (einmal mit return true/false, einmal mit return Variable) jeweils in einem konkreten Anwendungsfall zu demonstrieren, was neben dem JS- auch HTML-Code voraussetzt, um das (erfolglose) Ergebnis im Frame rechts unten sehen zu können.

Erst dann kann man auch von einem nachvollziehbaren Beispiel sprechen!

[edit]Tipp-Ex[/edit]
 
Zuletzt bearbeitet:
Um lediglich den JS-Code betrachten zu können, bedarf es keines speziellen Fiddle-Links - zumal es sich um das Duplikat des hier schon gezeigten Codes handelt :rolleyes:
Das bedeutet sinngemäß, Deine beiden gescheiterten Versuche (einmal mit return true/false, einmal mit return Variable) jeweils in einem konkreten Anwendungsfall zu demonstrieren, was neben dem JS- auch HTML-Code voraussetzt, um das Ergebnis im Frame rechts unten zu sehen.

Erst dann kann man auch von einem nachvollziehbaren Beispiel sprechen!

[edit]Tipp-Ex[/edit]

Ich habe im vorherigen Posting darauf hingewiesen, dass ich bis jetzt nur den JavaScript Code habe, und versuche das Ergebnis nur auf der Konsole auszugeben.

Die Konsole sollte den zurückgegebenen String schon zeigen...
 
Du beschreibst, dass deine Funktion nur einen Rückgabewert hat, wenn du sie innerhalb von console.log ausführst. Im Prinzip so:
Code:
// Funktioniert
console.log(testLogicalAnd(30));

// Funktioniert nicht
testLogicalAnd(30);
Du hast jedoch auch im zweiten Fall eine Rückgabe der Funktion, du kannst sie nur nicht sehen, weil du sie nicht speicherst oder ausgibst.

Der Funktionsaufruf wird nach Ausführung der Funktion mit dem Rückgabewert ersetzt. Der Code sieht vereinfacht gesehen also so aus (angenommen die Funktion gibt "no" zurück):
Code:
// Funktioniert
console.log("no");

// Funktioniert nicht
"no";
Zeile 5 ist valider Javascript-Code, erfüllt aber keinen Sinn. Daher gibt es weder eine Fehlermeldung noch eine Ausgabe.

Du musst den Wert also entweder ausgeben (console.log oder Ähnliches) oder wie in der ersten Antwort von @SpiceLab erwähnt in einer Variable speichern:
Code:
var value = testLogicalAnd(30);
 
Der Funktionsaufruf wird nach Ausführung der Funktion mit dem Rückgabewert ersetzt. Der Code sieht vereinfacht gesehen also so aus (angenommen die Funktion gibt "no" zurück):
Code:
// Funktioniert
console.log("no");

// Funktioniert nicht
"no";
Zeile 5 ist valider Javascript-Code, erfüllt aber keinen Sinn. Daher gibt es weder eine Fehlermeldung noch eine Ausgabe.
Exakt. Nur mir der Variable muss man auch dafür sorgen, dass diese (Variable) in Console ausgegeben wird.

Code:
var sum = testLogicalAnd(30);
console.log(sum);

Als IIFE muss sie auch über console gehen, sei es in einer Variabel gespeichert oder nicht.

Vielen Dank für Mühe!
Messmar
 

Neue Beiträge

Zurück