備忘録。
var str = 'fuga'; function sample(){ alert(str);//undefined(not 'fuga') var str = 'hoge'; alert(str);//hoge }
これは以下のように書いたのと同じである。
var str = 'fuga'; function sample(){ var str;//undefined alert(str);//undefined str = 'hoge'; alert(str);//hoge }
関数内の変数や関数宣言は巻き取りが行われ、その関数の先頭部分で宣言した事になる。従って、変数は関数の先頭で宣言するのが良い。