我想知道如何用函数创建一个数组,然后随机化一个数组并调用它。这是我测试过的示例。
functions = [f1(), f2(), f3(), f4()];
rand = functions[Math.floor(Math.random() * functions.length)];
$('p').click(function() {
rand[0]();
}
我搜索并尝试了多种假设的解决方案,但没有一个有效(包括这个: Javascript Array of Functions )。
最佳答案
使用函数引用创建数组,然后在点击处理程序中使用随 secret 钥生成
function log(func) {
$('#x').html(func)
}
function f1() {
log('f1')
}
function f2() {
log('f2')
}
function f3() {
log('f3')
}
function f4() {
log('f4')
}
functions = [f1, f2, f3, f4];
$('p').click(function() {
var rand = functions[Math.floor(Math.random() * functions.length)];
rand();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="x"></div>
<p>Click</p>
关于JavaScript 函数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28827107/