ここでJSがこのように機能する理由を理解するのを手伝ってもらえますか?
var timer = 3;
var func = function() {
alert(timer);
var timer = 5;
}
func();
それは私に「未定義」を返します。
私が行った場合
var timer = 3;
var func = function() {
alert(timer);
timer = 5;
}
func();
期待どおりに動作します (アラート 3)。
それは私が正しく理解していなかったスコープを持つものです。JS はアラートの後に「タイマー」の定義を上書きすべきではありませんか?
クロームのみでテスト済み。
君たちありがとう。