以下のスクリプトを書き、スクラッチパッドで実行しました。
baz();
var baz = function(){
console.log("Hello World");
}
上記のスクリプトを実行しようとすると、以下のような例外が発生しました。私は知っています、この表現は、巻き上げが関数式に対して有効でないためです。
/*
Exception: TypeError: baz is not a function
@Scratchpad/1:1:1
*/
ここで、関数名 'baz' を 'say_hello' に置き換え、アプリケーションを再実行しました。例外なく正常に動作しています。この動作には何か理由がありますか?
say_hello();
var say_hello = function(){
console.log("Hello World");
}