多くのjavascriptスコープ質問が存在しますが、私の問題では正確に一致するものは見つかりませんでした。ここに私の質問のための私の現在のコードです。Javascript Scoping Confusion
var my_var = "blank";
var MyFunc = function() {
my_var = "one";
//var my_var = "two";
}
alert(my_var);
MyFunc();
alert(my_var);
私はこれを実行すると、予想通り、私は「ブランク」、その後「1」で警告を受けています。しかし、その行のコメントを外すと、このように見えます。
var my_var = "blank";
var MyFunc = function() {
my_var = "one";
var my_var = "two";
}
alert(my_var);
MyFunc();
alert(my_var);
私は"ブランク" と警告し、その後、"ブランク" しています。これは私が期待するものではなく、行を追加すると動作が削除されることが混乱していることがわかります。誰でもここで何が起こっているのか説明できますか?私はfirefoxとsafariの両方でこの動作を見ています。
を説明しました。 – jfriend00