30

ここには単純な関数とグローバル変数があります。

なぜmyname undefined文字列ではなく文字列なの"global"ですか?

var myname = "global"; // global variable
function func() {
    alert(myname); // "undefined"
    var myname = "local";
    alert(myname); // "local"
}
func();

その関数のスコープ外で定義された外部変数を参照することはできませんか? そして、このグローバル変数では...

undefinedグローバル変数から取得しないようにするには、どうすればこれを修正できますか?

4

3 に答える 3

0

global最初のアラートが定義されていない理由は、関数内でその下のローカル変数として再宣言したためです。また、javascript では、関数の先頭からローカル変数と見なされます。

アラートのすぐ上に値を指定したため、その下にあるものは機能します。

于 2015-05-26T22:12:44.797 に答える