ある関数が定義されていたら、その関数を実行するということをしたいのです。
そこで、
init ? init() : '';
としてあげたら、init is not defined と怒られてしまいました。
ちなみに、if(init != undefined) {init();}
としても結果は同じです。
何とかこのような目的を達成する方法はありませんでしょうか?
どなたか詳しい方、教えていただけますと助かります。
関数もオブジェクトの一種です。
よって、オブジェクトの型を調べることで可能。
if( typeof init == 'function' ) { init(); }
javascript に例外ハンドリング機能があればそれを利用したらいいのではないでしょうか。
すいません、具体的に動作するコードを書いていただけますか?
関数もオブジェクトの一種です。
よって、オブジェクトの型を調べることで可能。
if( typeof init == 'function' ) { init(); }
動きましたー。
typeof を使うと対象がが見つからないときのエラーが出ないんですね。
勉強になりました。
window.init ? init();
でいけるかと~
Firefox3/IE7で動作確認
こちらも動きました。
(window.init ? init() : '';
に直しましたが)
windowを使うとよい、というのも新鮮です。
どうもありがとうございました。
動きましたー。
typeof を使うと対象がが見つからないときのエラーが出ないんですね。
勉強になりました。