この例は「javascriptデザインパターン」にあり、次のコードの動作と混同されています
このコードは、自己定義関数を作成します。
var scareMe = function () {
alert("Boo!");
scareMe = function () {
alert("Double boo!");
};
};
今、それを別の変数に参照しています
var prank = scareMe;
紛らわしいのは、いたずらを呼び出すと、scareMeが更新され、電話をかけ直すと、「ダブルブー」と警告する必要があるということです。
しかし、結果は
prank(); // "Boo!"
prank(); // "Boo!"
そして、scareMe関数をチェックすると、実際に再定義されています。
scareMe(); // Double boo!
いたずらは、なぜ違いがあるのかというよりも、scareMeへの単なる言及です。