如何显示(或调用)javascript数组中定义的匿名函数的内容

如何显示(或调用)javascript数组中定义的匿名函数的内容,javascript,arrays,function,p5.js,Javascript,Arrays,Function,P5.js,我想在我指定的位置调用ctx.fillRect(10,10,15,5)(Array[0]),当我console.log(Array[0])时,它显示数组内部的函数,但当我指定数组的索引时,它不调用函数 function translate1() { var ctx = canvas.getContext("2d"); var Array = [ function() {ctx.fillRect(10, 10, 15, 5)} ]; console.log(Array[0])

我想在我指定的位置调用
ctx.fillRect(10,10,15,5)
Array[0]
),当我
console.log(Array[0])
时,它显示数组内部的函数,但当我指定数组的索引时,它不调用函数

function translate1()  {
  var ctx = canvas.getContext("2d");
  var Array = [
    function() {ctx.fillRect(10, 10, 15, 5)}
  ];
console.log(Array[0]); // displays as expected here

Array[0]; // I want the function to be called here
ctx.transform(1, 0, 0, 1, 0, 20);
Array[0]; // and again here
ctx.transform(1, 0, 0, 1, 0, 20);
ctx.fillRect(10, 10, 15, 5);
ctx.transform(1, 0, 0, 1, 0, 20);
ctx.fillRect(10, 10, 15, 5);
ctx.transform(1, 0, 0, 1, 0, 20);
ctx.fillRect(10, 10, 15, 5);
ctx.transform(1, 0, 0, 1, 0, 20);
}

您需要使用
()


由于函数没有
返回
,因此执行
控制台.log(数组[0]())
将显示
未定义

的操作没有多大好处,您需要使用
()


由于函数没有
返回
,因此执行
控制台.log(数组[0]())
并没有多大好处,它将显示
未定义的

函数可以存储在数组中。例如,我们可以在数组中存储一个打招呼的函数:

var arr = [function(){return "hello";}];
现在我们有一个函数存储在arr[0]和

console.log(arr[0]);
显示类似于函数的内容

要调用函数,我们使用call操作符()

显示器:您好

请记住,数组是构造函数的名称。。。构造函数创建数组,因此最好不要将其作为数组的名称重用

下面是一个与您问题中的代码类似的代码片段

函数绘图(){
让canvas=document.getElementById(“mycanvas”);
设ctx=canvas.getContext(“2d”);
设arr=[
函数(){ctx.fillRect(10,10,25,50)}
];
console.log(arr[0]);//注销函数
ctx.fillStyle=“红色”;
arr[0]();//调用或执行函数
ctx.stroke();
}
draw()

函数可以存储在数组中。例如,我们可以在数组中存储一个打招呼的函数:

var arr = [function(){return "hello";}];
现在我们有一个函数存储在arr[0]和

console.log(arr[0]);
显示类似于函数的内容

要调用函数,我们使用call操作符()

显示器:您好

请记住,数组是构造函数的名称。。。构造函数创建数组,因此最好不要将其作为数组的名称重用

下面是一个与您问题中的代码类似的代码片段

函数绘图(){
让canvas=document.getElementById(“mycanvas”);
设ctx=canvas.getContext(“2d”);
设arr=[
函数(){ctx.fillRect(10,10,25,50)}
];
console.log(arr[0]);//注销函数
ctx.fillStyle=“红色”;
arr[0]();//调用或执行函数
ctx.stroke();
}
draw()