通常の関数「function hoge() {}」と無名関数「var hoge = function() {}」の違いについて調べました。
サンプルコード
通常の関数で以下のようにすると関数は実行されます。
JavaScript
sample01(); function sample01() { alert('sample01'); }
無名関数で以下のようにすると関数は実行されません。
JavaScript
sample02(); var sample02 = function() { alert('sample02'); }
通常の関数の場合は関数を宣言する前でも関数を実行できますが、無名関数の場合は変数に代入した後でないと関数を実行できません。
ただし通常の関数の場合でも、関数の宣言と実行が別の外部ファイルの場合、関数を宣言している外部ファイルより後に実行する外部ファイルが読み込まれてないと関数を実行できません。
HTML
<script src="./sample3.js"></script> <script src="./sample3_2.js"></script>
JavaScript(sample3.js)
sample03();
JavaScript(sample3_2.js)
function sample03() { alert('sample03'); }
【参考サイト】
- JavaScript – 関数宣言と関数式の違い – Qiita
- [Javascript] 関数宣言の落とし穴 function foo ( ){..} と var foo = function ( ) {..} は動作が違うので要注意! – DQNEO起業日記
コメントが承認されるまで時間がかかります。