如何显示(或调用)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()代码>