var my_var = 3;
function doIt() {
console.log( my_var ); //why undefined?
var my_var = 7;
return ++my_var;
}
doIt(); // returns 8 as expected
my_varがグローバル値(3)ではなく未定義を返すのはなぜですか?
var my_var = 3;
function doIt() {
console.log( my_var ); //why undefined?
var my_var = 7;
return ++my_var;
}
doIt(); // returns 8 as expected
my_varがグローバル値(3)ではなく未定義を返すのはなぜですか?
my_var
関数内でローカル変数として定義しました。JavaScriptは変数をスコープの一番上に持ち上げるので、関数は実際には次のように動作します。
function doIt() {
var my_var;
console.log( my_var );
my_var = 7;
return ++my_var;
}