javascript - 如何在 JavaScript 中运行随机选择的函数?

标签 javascript jquery

我正在尝试运行一个随机函数,但还没有完全弄明白:

<script>

function randomFrom(array) {return array[Math.floor(Math.random() * array.length)];}

function randomchords(){randomFrom(['poop()', 'poop2()', 'poop3()']);}               



function poop() { $(function() {ionian_c_vi() });  }                          

function poop2() {  $(function() {ionian_c_iii() }), $(function() {ionian_c_iv() });  }                      

function poop3() { $(function() {ionian_c_vi() }), $(function() {ionian_c_i() }), $(function() {ionian_c_ii() });  }  

</script>

然后:

<button onclick="randomchords()" >Get some random chords</button>

我走在正确的轨道上吗?

最佳答案

一种选择是使用 window 对象:

function randomchords() {
    var func = randomFrom(['poop', 'poop2', 'poop3']);
    window[func]();
}

注意数组中的函数名要去掉括号。


另一种选择是从上面的变体中删除引号并直接调用函数:

function randomchords() {
    var func = randomFrom([poop, poop2, poop3]);
    (func)();
}

关于javascript - 如何在 JavaScript 中运行随机选择的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693488/

相关文章:

javascript - 如果复选框被选中,如何添加一个元素,如果没有被选中,如何删除它?

javascript - 如何向对象添加上下文方法

Javascript Canvas Uncaught TypeError : document. getContext 不是函数

javascript - 如何获取输入范围内悬停时间的值

javascript - 在 knockoutjs 中结合 href、click 和 data-bind

javascript - 正则表达式 : combine patterns using alternation operator or execute regular expression several times

javascript - Jquery, javascript - 用括号按类选择元素

javascript - 仅西里尔文输入文本形式

jquery - 将焦点放在 div contenteditable 元素上

jQuery 日期选择器 : both RANGE and INLINE