Javascript 将连接的参数传递给函数
我知道我们可以将参数传递给这样的函数:Javascript 将连接的参数传递给函数,javascript,Javascript,我知道我们可以将参数传递给这样的函数: show(myArgument); function show(e){ callMe(e); } function callMe(e){ console.log('I got myArgument as the callMe argument'); } 如何在此处将我的参数转换为callMe参数: show(my); function show(e){ callMe(e+Argument); } function callMe
show(myArgument);
function show(e){
callMe(e);
}
function callMe(e){
console.log('I got myArgument as the callMe argument');
}
如何在此处将我的参数转换为callMe
参数:
show(my);
function show(e){
callMe(e+Argument);
}
function callMe(e){
console.log('I got myArgument as the callMe argument');
}
注意:我不希望myArgument像这样作为字符串:show(“myArgument”)
我希望它是这样的:show(myArgument)
这是我的原始代码:
let tutorialText = document.getElementById("tutorialText");
let tutorialSub = document.getElementById("tutorialSub");
let tutorialImage = document.getElementById("tutorialImage");
setTimeout(function(){
show(tutorial); // we may pass `test` instead of `tutorial` in order to invoke this function `MainTextUpAnime(testText);`
}, 1000);
//this function doesn't work
function show(e){
MainTextUpAnime(e+Text);
SubTextDownAnime(e+Sub);
ImageShowAnime(e+Image);
}
//this one works as expected
function show(e){
MainTextUpAnime(tutorialText);
SubTextDownAnime(tutorialSub);
ImageShowAnime(tutorialImage);
}
setTimeout(function(){
MainTextDownAnime(tutorialText);
SubTextUpAnime(tutorialSub);
ImageHideAnime(tutorialImage);
}, 4000)
function MainTextUpAnime(el){
el.classList.add("MainTextUpAnime");
el.classList.remove("MainTextDownAnime");
};
function MainTextDownAnime(el){
el.classList.remove("MainTextUpAnime");
el.classList.add("MainTextDownAnime");
};
function SubTextUpAnime(el){
el.classList.add("SubTextUpAnime");
el.classList.remove("SubTextDownAnime");
};
function SubTextDownAnime(el){
el.classList.remove("SubTextUpAnime");
el.classList.add("SubTextDownAnime");
};
function ImageShowAnime(el){
el.classList.add("ImageShowAnime");
el.classList.remove("ImageHideAnime");
};
function ImageHideAnime(el){
el.classList.remove("ImageShowAnime");
el.classList.add("ImageHideAnime");
};
这是最后一次更新:
我可以像这样做我想做的,但是看起来不太好
setTimeout(function(){
show("tutorial");
}, 1000);
//this function do the job
function show(e){
if(e == "tutorial"){
MainTextDownAnime(tutorialText);
SubTextUpAnime(tutorialSub);
ImageHideAnime(tutorialImage);
} else if(e == "test"){
MainTextDownAnime(testText);
SubTextUpAnime(testSub);
ImageHideAnime(testImage);
}
}
当调用函数(而不是在函数内部)时,可以通过 问题更新后 在
show
函数中,使用代码中未定义的变量Text、Sub、Image
:
function show(e){
MainTextUpAnime(e+Text);
SubTextDownAnime(e+Sub);
ImageShowAnime(e+Image);
}
这是它不起作用的原因之一。然而,在函数内部使用外部变量并不好。如果需要concat字符串,请尝试使用以下方法:
function show(e, Text, Sub, Image){
MainTextUpAnime(e+Text);
SubTextDownAnime(e+Sub);
ImageShowAnime(e+Image);
}
如果您想连接阵列,请使用
function show(e, Text, Sub, Image){
MainTextUpAnime(e.concat(Text));
SubTextDownAnime(e.concat(Sub));
ImageShowAnime(e.concat(Image));
}
什么是
Func
,它是另一个函数吗?“串联”这些函数(e
和func
)会做什么?e
和func
的值是什么?另外,您的callMe
根本没有使用e
,因此这也很混乱。您的编辑并没有澄清问题。现在,参数
代表什么?它的值从何而来?在问题的文本中,您指的是myArgument
,但在代码中您只有Argument
。花点时间重新解释您的问题和代码,因为您试图做什么以及许多明显的变量从何处获取其值仍然不清楚。请提供一个具体的例子,说明show
和callMe
应该获得的参数。您如何知道参数
是字符串?是什么参数
?我不操作参数
对象
function show(e, Text, Sub, Image){
MainTextUpAnime(e.concat(Text));
SubTextDownAnime(e.concat(Sub));
ImageShowAnime(e.concat(Image));
}