各位晚上好!

我是这个网站的新手,我正在学习javaScript,但我仍然是一个菜鸟,被困在这个地方,我无法简单地理解出了什么问题。

我有以下指示:


编写一个名为nameString()的函数
它应该以name为参数。
该函数返回一个等于“ Hi,I am” +“” +名称的字符串。
通过传递名称来调用nameString(),并使用console.log打印输出。


我写:

var nameString = function (name) {return "Hi, I am" + " " + name;};
nameString (Myrrh); console.log (name);


但是控制台显示ReferenceError: Myrrh is not defined

我尝试写然后nameString (Myrrh); console.log (nameString);,但也没有用。
如果我写nameString (name); console.log (nameString);它不再引发该错误,但控制台将打印出[Function]而不是我应该得到的''Hi, I am Myrrh''消息。

我是函数的新手,据我了解,您在调用函数时只需在参数的括号中分配一个值,这意味着nameString (Myrrh);应该没问题,因为“ Myrrh”是(name)的值。这对于其他练习非常有效,但不适用于此练习。此外,调用该函数并在花括号内登录也不会更改任何内容。而且,当然,将花括号内的“名称”更改为其他名称也不起作用。我也将var nameString = function (name)更改为function nameString (name),因为它们似乎表示相同或相似的含义(不确定差异),但仍会引发相同的错误。

我被困住了,不知道如何解决这个问题。作为初学者,我可能会错过最愚蠢的细节,但是无论我进行什么更改,都会引发错误。

PS:如果有帮助的话,这是Code Academy的一项练习。

最佳答案

您所指的是名为Myrrh的对象,应在引号之间传递字符串。
我也注意到您没有将函数的返回值分配给任何变量:

var name = nameString ("Myrrh");
console.log(name);

关于javascript - javaScript,函数,打印我的名字(初学者),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27885447/

10-09 10:21