関数の内部宣言変数宣言を上部に移動します.

1114 ワード

var name = "Kevin";
function callName()
{
    alert(name);
   var name = "marry";
}
callName(); // undefined
Javascriptは関数領域に入る時に、先に声明をスキャンして、注意してください.ステートメントだけで、赋値を実行していません.各変数の初期値はundefinedです.
 上式も下のような書き方に相当します.
 
var name = "Kevin";
function callName()
{
   var name;
    alert(name);
   name= "marry";
}
callName(); // undefined