Ich lerne immer noch so könnte ich diese wronf Wortlaut (was möglicherweise, warum ich kein Glück gehabt habe, eine Antwort zu finden, indem Sie so weit suchen) oder ich könnte das falsch machen alle zusammen.Zugriff auf Objekt innerhalb einer Funktion erstellt
Grundsätzlich versuche ich eine Funktion zu erstellen, die, wenn sie aufgerufen wird, ein Objekt (das aus anderen Objekten besteht) erstellt. Wenn ich dieses Characters
Objekt außerhalb der Funktion erstelle, kann ich darauf wie erwartet zugreifen, aber wenn ich es innerhalb der Funktion mache, kann ich nicht darauf zugreifen. Ich teste das in der in Chrome integrierten Konsole.
Hier ist mein Code.
function q1(ans) { //Are you male or female?
"use strict";
//store all above objects into new object
if (ans === "male") {
var Characters = {
spike: spike,
jet: jet,
vicious: vicious
};
}
if (ans === "female") {
//store all above objects into new object
var Characters = {
faye: faye,
julia: julia,
ed: ed
};
}
return Characters;
}
(Die Objekte spike
, jet
, vicious
(usw.) sind an anderer Stelle definiert und können ohne Problem zugegriffen werden.)
Wenn ich meine Funktion q1("male");
die Konsole rufen scheint, dass die Characters
anmelden Objekt wird erstellt, aber wenn ich dann versuche, darauf zuzugreifen, indem Sie einfach Characters
eingeben, erhalte ich einen Fehler (ReferenceError: Zeichen ist nicht definiert). Wenn ich dieses Zeichenobjekt außerhalb einer Funktion erstellen und dann versuchen würde, darauf zuzugreifen, wie oben erwähnt, funktioniert das gut. Das führt mich zu der Annahme, dass ich es nicht richtig zurückgebe (oder ich mache etwas völlig anderes falsch). Was fehlt mir hier?
Vielen Dank im Voraus für jede Hilfe.
Wenn Sie dieses 'var Chars = q1 (" männlich ") mögen, wird der Rückgabewert sinnvoll – LGSon
Das hat es getan. Vielen Dank. –