1

这是我写的代码;

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

};
nameString("Bobby");

我试图让它返回一行说明;嗨,我是鲍比

相反,它返回三个:

嗨,我是鲍比
嗨,我是
嗨,我是鲍比

我无法弄清楚为什么它会返回三遍

4

4 回答 4

1

Codecademy 出于某些原因运行该功能 3 次,主要是为了检测东西并提示您正确的代码......每次在控制台中输出一些东西,因为您输入console.log. 改为使用return它会起作用。

var nameString = function(name) {
    return "Hi, I am" + " " + name;

};
console.log(nameString("Bobby"));

不要在 codecademy 功能中使用控制台,它需要在通话中..

于 2013-03-19T08:26:33.083 回答
0

这本身只是一次呈现结果。也许它嵌套在一些确保三个执行周期的代码中......

于 2013-03-19T08:18:35.537 回答
0

嗯,这是我第一次看到像你这样的函数(我不是说它不好,我不是 JavaScript 专家)......

试试看:

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

我认为您的问题是您试图将函数的返回值作为变量的值。但实际上,您的函数不会返回任何值。因此,也许它导致了您告诉我们的这种罕见行为……其他方法与您的方法更相似:

var nameString = function(name) {
  return "Hi, I am" + " " + name;
};
nameString("Bobby");
console.log(nameString);
于 2013-03-19T08:19:43.560 回答
0

用它:

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

var theName = prompt("What is your name?");
var result = nameString(theName);
console.log(result);
于 2015-12-31T07:04:14.410 回答