JavaScript 函数数组

标签 javascript jquery arrays function

我想知道如何用函数创建一个数组,然后随机化一个数组并调用它。这是我测试过的示例。

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/

相关文章:

php - 正则表达式的可变长度lookbehind-assertion替代方案

php - CSV 文件在浏览器中内联打开而不是提示 DL

javascript - 想在通过追加按钮创建字段时提交表单元素

java - 求 200 万以内的素数之和

javascript - 一个页面上的三个 javascript 函数 - 功能失调

javascript - 移动菜单链接无效

javascript - jQuery UI 日期选择器将不会显示 - 包含完整代码

javascript - 如何使用jQuery扩展折叠切换div层

arrays - 排序但旋转的数组

c# - 将字符串拆分为单词数组