Javascript JSHTML:从数组调用随机函数
我试图调用一个从数组中随机获得的函数。以下是链接: 现在我有以下代码: JS HTMLJavascript JSHTML:从数组调用随机函数,javascript,html,Javascript,Html,我试图调用一个从数组中随机获得的函数。以下是链接: 现在我有以下代码: JS HTML 查阅 我想知道的是,一旦得到了随机项,该如何称呼它。 我试过eval(),window[](),甚至rand()。 有人能帮我吗?您需要在数组中只存储函数引用(没有()),然后使用rand()调用返回的函数 函数na(){ log('na()已调用'); 返回“na” } 函数na2(){ log('na2()已调用'); 返回'na2' } 函数na3(){ log('na3()已调用'); 返回'n
查阅
我想知道的是,一旦得到了随机项,该如何称呼它。
我试过eval()
,window[]()
,甚至rand()
。
有人能帮我吗?您需要在数组中只存储函数引用(没有
()
),然后使用rand()
调用返回的函数
函数na(){
log('na()已调用');
返回“na”
}
函数na2(){
log('na2()已调用');
返回'na2'
}
函数na3(){
log('na3()已调用');
返回'na3'
}
//函数引用数组
var randoRandit=[na,na2,na3];
var rand=randoRandit[Math.floor(Math.random()*randoRandit.length)];
//现在调用函数
var result=rand();
document.querySelector('div')。textContent=result
您只需要在数组中存储函数引用(没有()
),然后使用rand()
调用返回的函数
函数na(){
log('na()已调用');
返回“na”
}
函数na2(){
log('na2()已调用');
返回'na2'
}
函数na3(){
log('na3()已调用');
返回'na3'
}
//函数引用数组
var randoRandit=[na,na2,na3];
var rand=randoRandit[Math.floor(Math.random()*randoRandit.length)];
//现在调用函数
var result=rand();
document.querySelector('div')。textContent=result
首先,您必须考虑到,每次编写一个标识符,后跟一个括号内的参数列表(即使它是空的),您都是在调用一个函数
因此,在这方面:
var randoRandit = [na(), na2(), na3(), na4()];
。。。调用四个函数,然后将返回的值作为项存储到数组中。这是你真正想要的吗?我想没有
如果要引用函数而不实际调用它,只需写下其名称(不带括号):
首先,您必须考虑到,每次编写一个标识符,后跟一个括号内的参数列表(即使是空的),您都是在调用一个函数 因此,在这方面:
var randoRandit = [na(), na2(), na3(), na4()];
。。。调用四个函数,然后将返回的值作为项存储到数组中。这是你真正想要的吗?我想没有
如果要引用函数而不实际调用它,只需写下其名称(不带括号):
现代JS基础:不要使用HTML属性触发JS。在JS中,添加
yourbtnid.addEventListener(“单击”,evt=>getValue(evt))代码>,以及现代HTML基础:不要在id
属性中打问号。无论教你HTML和Js的是什么,都是一本糟糕的教程/网站/书籍,即使是为了你自己的技能/理智,你也希望通过查阅一些适当的现代教程(例如,去年专门针对HTML5和ES6编写的,但理想情况下是ES2020)来重温现代Js和HTML@Mike'Pomax'Kamermans,因为addEventListener更好,所以我没有被教在HTML中做onclick。我不使用addEventListener的原因在我的《后现代JS基础》中有说明:不要使用HTML属性来触发JS。在JS中,添加yourbtnid.addEventListener(“单击”,evt=>getValue(evt))代码>,以及现代HTML基础:不要在id
属性中打问号。无论教你HTML和Js的是什么,都是一本糟糕的教程/网站/书籍,即使是为了你自己的技能/理智,你也希望通过查阅一些适当的现代教程(例如,去年专门针对HTML5和ES6编写的,但理想情况下是ES2020)来重温现代Js和HTML@Mike'Pomax'Kamermans,因为addEventListener更好,所以我没有被教在HTML中做onclick。我不使用addEventListener的原因在我的帖子中有说明
var randoRandit = [na(), na2(), na3(), na4()];
// Declaration:
function myFunction() {...}
// Referenciation:
var f=myFunction;
// Now f acts as a reference to your real function.
// Calling:
f(...)