setIntervalを使用してmyfun1を1回だけ呼び出したい。グローバル変数の使用は避けたい。これを読んでも機能しません(2000ミリ秒ごとに関数を呼び出すだけです)。当然、2000ミリ秒ごとにmain()を呼び出す必要があります。
(function($){
setinterval(main,2000);
function main (){
if(/*condition*/) return;
function callItOnce(fn) {
var called = false;
return function() {
if (!called) {
called = true;
return fn();
}
return;
}
}
myfun1 = callITOnce(myfun1);
myfun1();
function myfun1(){/*code*/};
function myfun2(){/*code*/};
function myfun3(){/*code*/};
})(jquery);