Jquery 変数に関数名をセットして実行
作成日:2018-03-23, 更新日:2018-04-26
基本
変数に「()」をつければOK。
var hoge = function(str){
alert(str);
}
var func = hoge;
func(〇〇〇);
上記だと、「hoge()」をすればいいので・・・全く意味がない。
ということで、下記のような感じ。
var func01 = function(){ alert(1); }
var func02 = function(){ alert(2); }
var func03 = '文字列'
var getFunc = function(funcName){
var listFunc = {
'func01': func01,
'func02': func02,
'func03': func03
}
if ( listFunc[funcName] != null ) {
if(typeof listFunc[funcName]==="function"){
return listFunc[funcName];
}
else {
// 関数じゃないヤツ
return false;
}
}
else {
return false;
}
}
var chkForm = function(funcName){
var func = getFunc(funcName);
if ( func != false ) {
func();
}
else {
alert('関数じゃない or 未定義');
}
}
var str = 'func03';
chkForm(str);