ページの読み込みタイミングによって、別ファイルの関数が読み込まれてなくて実行できないという状況に遭遇したので、関数が存在するかどうか(実行できるかどうか)を調べてから実行する方法を調べてみました。
サンプルコード
typeofを使って調べられるようです。
下記サンプルでは、関数読み込み前と読み込み後に関数が存在するかどうかを調べるようにしています。
JavaScript
// 関数読み込み前 if(typeof sample == 'function') { console.log('1:関数実行可'); } else { console.log('1:関数実行不可'); } // 関数読み込み var sample = function() { console.log('sample'); } // 関数読み込み後 if(typeof sample == 'function') { console.log('2:関数実行可'); } else { console.log('2:関数実行不可'); }
関数が存在するかどうかを調べるデモページ
ライブラリが読み込めてない時とかに使うといいみたいです。
【参考サイト】
コメントが承認されるまで時間がかかります。