私はこのwronfを言い表すかもしれないので、私はまだ学んでいます(これは、私がこれまでの検索で答えを見つけることに何の不運もなかったのかもしれません)すべて一緒に。関数の内部でオブジェクトにアクセスする
基本的には、呼び出されたときにオブジェクト(他のオブジェクトで構成されている)を作成する関数を作成しようとしています。このCharacters
オブジェクトを関数の外に作成すると、期待通りにアクセスすることができますが、関数内で実行するとアクセスできないように見えます。私はChromeに組み込まれたコンソールでこれをテストしています。
ここに私のコードです。
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;
}
(オブジェクトspike
、jet
、vicious
は(など)他の場所で定義されており、いかなる問題なくアクセスすることができます。)私はq1("male");
コンソールがCharacters
ことをログに記録するようで、私の関数を呼び出す場合
オブジェクトが作成されましたが、私はCharacters
と入力してアクセスしようとすると、エラーが発生します(ReferenceError:Characters is not defined)。関数の外でこのCharactersオブジェクトを作成し、上記のようにアクセスしようとすると、うまくいきます。これは、私がそれを適切に返さないと(または、私は完全に何か他の何かをやっている)信じるようになります。私はここで何が欠けていますか?
ありがとうございました。
このようにすると、var Chars = q1( "male") '戻り値は意味をなさぎます – LGSon
これが成立しました。ありがとう。 –