何らかの理由で、ローカル変数sometimeに設定されているとJavaScriptグローバル変数が関数内で未定義になります。 たとえば、以下のサンプルでは、local
が「undefined
」になることがよくあります。 誰かに助言してもらえますか?javascriptグローバル変数が関数内で未定義
私は「local
」の値を期待していはfunctionB()
とfunctionC()
またはdoStringProcessingA()
とdoStringProcessingB()
で「グローバル値」です。 「local
」の値は「undefined
」です。私は他の場所に値を割り当てたり、どこにでもグローバルに未定義を設定したりすることはないと確信しています。
以下のリンクを確認しましたが、関連していないようです。 'Hoisted' JavaScript Variables と Why a variable defined global is undefined?
関数A()は、HTMLからのonClickイベントで呼ばれていました。
var global;
function functionA(){
global = "global value";
}
function functionB(){
var local = global;
doStringProcessingA(local);
}
function functionC(){
var local = global;
doStringProcessingB(local);
}
<div onclick="functionA()">
<span class="Text">Submit</span>
</div>
あなたの 'global'変数はどのような値でもグローバルに割り当てられません。 'functionA'からその値を取得します。最初に 'functionA'を呼び出してから、' global'変数の値を使う他の関数を呼び出してください。 –
あなたの英語を完全に解析することはできません。グローバル変数が定義されていないと言いますか? 「グローバル変数にローカル変数が設定されている場合、グローバル変数にローカル変数の値が割り当てられている場合」または「グローバル変数にローカル変数が割り当てられている場合」を意味しますか?他の多くの言語とは異なり、英語の "set A to B"は、 "Aの値をとり、それをINTO B"にするのではなく、 "Bの値を持つようにAの値を変更する"ことを意味する。 –
functionBとfunctionCまたはdoStringProcessingAとdoStringProcessingBの "local"の値が "global value"であると思います。 "local"の値は "undefined"です。私は他の場所に値を割り当てたり、どこにでもグローバルに未定義を設定したりすることはないと確信しています。 –