関数の名前は別の関数の値に格納されており、他の関数を使用して関数を呼び出す必要があります。
popup() 関数を呼び出す必要があります
random() = 'popup()'
if ($.cookie('optin-page')) {
}
私は試した
if ($.cookie('optin-page')) {
window[random()];
}
関数の名前は別の関数の値に格納されており、他の関数を使用して関数を呼び出す必要があります。
popup() 関数を呼び出す必要があります
random() = 'popup()'
if ($.cookie('optin-page')) {
}
私は試した
if ($.cookie('optin-page')) {
window[random()];
}
関数呼び出しの戻り値に値を代入することはできません。を含むステートメントの左側は、=
で終わることはできません()
。(つまり、コードの最初の行はエラーです)。
呼び出された関数の戻り値と一致する名前でグローバル関数を呼び出したい場合は、次のrandom
ことができます。
window[random()]();
…しかし、それを考えているときはいつでも、おそらくそれらの関数をオブジェクトに格納してから、そのオブジェクトのメソッドとして呼び出す必要があります。
var foo = {
a: function () {
alert('e.g.');
}
};
function picker() {
return "a";
}
foo[picker()]();
返された文字列を呼び出すだけでなく、スイッチなどを使用したほうがよいと思います...
var functionToCall = random();
switch(functionToCall)
{
case 'popup()':
popup();
break;
case 'function2()':
function2();
break;
default:
// throw an error INVALID FUNCTION CALLED
}
これにより、エラー処理を導入できます。