javascript
1#関数の場合 2greet(); 3 4function greet() { 5 console.log('hi'); 6} 7 8#変数の場合 9console.log(a); 10 11var a = 'h1';
上記の場合、greet()
の実行結果は"hi"
ですが、console.log(a)
の実行結果はundefined
となります。
変数の場合、巻き上げによって変数名がundefine
の状態でメモリに保存されるため、変数に中身が代入されるより前の行ではundefined
と表示されるのだと理解しています。
関数の場合も変数の巻き上げと同じようなことが行われ、そのときに関数名だけでなく中身も一緒にメモリに保存されるため、変数とは違ってどこからでも中身を参照できるということでしょうか?
分かる方いらっしゃいましたらよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。