2017-03-08 181 views
0

嗨,大家对JS很陌生,我一直在努力研究这个简单的东西,因为它太久试图理解JS基础知识。请帮助我;将函数传递给innerHTML方法

我有一个空的H1元素,我想用JavaScript填充内容。

我希望H1头包含数组中的名称并显示“Hello”消息。

我想是这样的:

的innerHTML =迎接(名称[0])为H1头。我错过了一些微不足道的东西,了解这是如何工作的任何帮助,将不胜感激。 ('h1')。innerHTML = greet(names [0]);其中,返回为H1元素中的“未定义”

+0

console.log()打印值。它不返回任何价值; –

+1

你应该使用'return'来代替。 –

+0

什么是namen?在返回name.toLowerCase()函数时也返回一些值,如 ; – CaptainHere

回答

3

截至目前您还没有返回任何东西,因此您的方法因此得到undefined, 您需要return值来自该方法。

function greet(name){ 
    return "Hallo " + name.toLowerCase(); 
} 
3

函数应该返回字符串。

function greet(name){ 
    return "Hallo " + name.toLowerCase(); 
} 
3

这里有几件事要理清。你不会使用namen变量,所以删除第二行。

您也可以在为其分配值时声明变量名称。

问候函数需要返回一个值而不是日志到控制台。

var names = ["Jan", "Klaas", "Piet"]; 

function greet(name){ 
return "Hallo " + name.toLowerCase(); 
} 

document.querySelector('h1').innerHTML = greet(names[0]); 

看到codepen here

2

您需要返回字符串,像这样:

names = ["Jan", "Klaas", "Piet"]; 

function greet(name){ 
    return ("Hallo " + name.toLowerCase()); 
} 

document.querySelector('h1').innerHTML = greet(names[0]); 

console.log()记录在开发工具在浏览器控制台中的字符串(按F12所示) 。您需要将return的值分配给innerHTML,如上所示。

你也不需要做任务name = namen,因为name只是为您传递到函数greet()价值names[0]的别名。如果你在别处使用它,那么最好使用与name不同的变量名称,否则这会导致后面的混乱和潜在的冲突。

0

你不需要"name=namen"

你必须从函数返回一些值。