Ordnen zurückgegebene Wert aus einer javascript-Funktion, um eine variable

Ich habe eine Funktion, die einen string zurückgibt, und ich rufen Sie die Funktion mehrmals und das Ergebnis in eine variable.

Habe ich dieses:

function GetValue() {
    ... Do Something ...
    console.log(string); //displays 'string'
    return string;
}

Und ich bin versucht zu ordnen Sie den Ausgang der Funktion, die eine variable in einer anderen Funktion. Zurzeit mache ich:

var theString = GetValue();
console.log(theString); //displays 'undefined'

Was ich nicht verstehe, ist die Ausgabe der Konsole in der Funktion ist die Anzeige den Wert, aber es ist nicht nach der Zuweisung der variable, um die Ausgabe der Funktion.

Natürlich ist dies nicht die Art und Weise zu ordnen Sie den Ausgang einer Funktion einer Variablen. Also wie mache ich das?

[ZUSÄTZLICHE INFO]

Anscheinend meinen Versuch als kurzen in meinem Beispiel-code diente nur zur Verwirrung führen.

Hier ist die volle Funktion muss ich mehrmals rufen, die von anderswo in der javascript-Datei:

/*
* Build URL link
*/
function BuildUrlTargetFolder() {
    //Get the current url and remove the 'zipCodes/branchAdmin' part of it for the branch url link
    var urlArray = window.location.href.split('/'),
    targetLength = urlArray.length - 3,
    i,
    targetFolder = '';

    for (i = 0; i < targetLength; i++) {
        //Only add a slash after the 'http:' element of the array
        if (i === 0) {
            targetFolder += urlArray[i];
        } else {
            targetFolder += '/' + urlArray[i];
        }
    }

    console.log('targetFolder: ' + targetFolder); //console output is the current url minus two "levels"

    return targetFolder;
}

Hier ist einer der Orte, die die Funktion muss verwendet werden:

var targetFolder = BuildUrlTargetFolder();

console.log('targetFolder: ' . targetFolder); //console output: "undefined"

//If the url has a value, set the href attribute for the branch link otherwise hide the url
if (data['url'] !== '') {
    $('a#branchLink').attr('href', targetFolder + '/index.php/coverage-area/' + data['url']).show();
} else {
    $('a#branchLink').attr('href', '#').hide();
}

So, nachdem das gesagt ist, wie bekomme ich den string aus der Funktion an den aufrufenden code die variable?

Für mich funktioniert: jsfiddle.net/zzzHz
Hast du irgendwelche Fehler in der Konsole? Wie ist string geschaffen? Ist GetValue im Rahmen?
Wollen Sie die Ausgabe der Funktion GetValue() der string-Typ? Im Allgemeinen, ich glaube nicht, dass sollte man sich den Namen einer Variablen den gleichen Typ. Ändern Sie ggf. den Namen der Variablen 'string'.
Habt Ihr auch eine var-Deklaration irgendwo in der ...Etwas Tun... - Bereich? Ansonsten werden die Variablen undefiniert sein, wenn es nie erklärt und nie vergeben.
siehe "Zusätzliche Info" - Abschnitt habe ich Hinzugefügt, um meine OP zu klären.

InformationsquelleAutor marky | 2013-02-05

Schreibe einen Kommentar