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));
}