You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中如何调用数组内定义的匿名函数?

问题解决:数组中匿名函数无法执行的原因与修复方案

嘿,这问题其实挺常见的——你现在写的Array[0]只是拿到了这个函数的引用,并没有真正触发它执行。就好比你手里攥着一个遥控器,但没按开机键,设备当然不会启动啦😎

正确的调用方式

要执行数组里的这个匿名函数,你只需要在后面加上一对括号()就行,也就是写成:

Array[0]();

为什么console.log(Array[0])能正常显示?

当你用console.log打印它时,浏览器控制台只是把这个函数的定义内容展示出来,这和执行函数完全是两回事。就像你打印了一份菜谱,不代表你已经把菜做出来了~

修正后的完整代码示例

另外提个小建议:Array是JavaScript的内置构造函数名,用它当变量名容易引发潜在问题,我帮你改成了myArray,你可以参考:

function translate1() { 
  var ctx = canvas.getContext("2d"); 
  var myArray = [ function() {ctx.fillRect(10, 10, 15, 5)} ]; 
  console.log(myArray[0]); // 此处正常显示函数定义
  myArray[0](); // 这里会执行绘制矩形的函数
  ctx.transform(1, 0, 0, 1, 0, 20); 
  // 后续如果还有数组里的函数,都用`数组索引()`的方式调用即可
}

内容的提问来源于stack exchange,提问作者idksoiputthis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:23:58