如何在屏幕上打印功能的所有参数

时间:2018-12-29 17:34:37

标签: javascript string-interpolation

我正试图将一个函数传递给createTextNode,以便将在屏幕上显示的i am singing Let It GOi am dancing as well while singing通过参数传递给该函数。

问题在于只有第一个参数出现。

function sing(song ,dance){
   return`i am singing ${song}`
   callback();
 }

function dance(){
   return "i am dancing as well while singing";
}

let singing=sing("Let It GO","dance");
const elP=document.createElement("p");
const elT=document.createTextNode(singing)
elP.appendChild(elT);    
document.body.appendChild(elP);

4 个答案:

答案 0 :(得分:2)

虽然这种方法对我有些奇怪,但您要做的是将函数作为参数传递给sing函数,然后回调该参数:

function sing(song, callback){
   return`i am singing ${song} ${callback()}`
 }

function dance(){
   return "i am dancing as well while singing";
}

let singing=sing("Let It GO", dance);
const elP=document.createElement("p");
const elT=document.createTextNode(singing)
elP.appendChild(elT);    
document.body.appendChild(elP);

答案 1 :(得分:2)

只需使用 string interpolation 来引用dance,就像您引用song一样,就像这样:

function sing(song ,dance){
   return `i am singing ${song}, ${dance}`;
}
function dance(){
   return "i am dancing as well while singing";
}

let singing=sing("Let It GO", dance());
const elP=document.createElement("p");
const elT=document.createTextNode(singing)
elP.appendChild(elT);    
document.body.appendChild(elP);


但是,如果dance函数仅返回一个字符串,则更干净的方法是像使用dance字符串那样,在sing()参数本身中引用song字符串。 / p>

下面,我像您一样创建了一个名为sing的函数,并简单地使用${song}${dance}来检索参数,在函数自身中的括号内输入参数值并使用他们可能在控制台日志 div 警报框中的任何位置。

选中此jsFiddle或运行下面的代码段以查看以下代码的结果:

var div = document.getElementById("output");

function sing(song, dance) {
  div.innerHTML =  `<p>The song is: <strong>${song}</strong> and the dance is: <strong>${dance}</strong></p>`
}

sing("HipHop", "BreakDance");
<div id="output"></div>

答案 2 :(得分:0)

JavaScript没有打印到屏幕的概念,这是一种粗略的调试方式,但是具有实现相同目的的控制台方法。

Javascript具有称为arguments的特殊关键字,该关键字包含传递给函数的所有值。因此,以下代码应打印传递给函数的所有参数:

function hello(a, b, c) {
  console.log(arguments);
}

hello("World", 42, true);

答案 3 :(得分:0)

您无需在sing()中将舞曲用作参数

function dance(){
   return "i am dancing as well while singing.";
}

function sing(song){
   var c = dance();
   return "i am singing " + song + "<br>" + c;
}


document.write(sing("foo"))