1

これが私が書いたコードです。

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

};
nameString("Bobby");

1行の状態を返すようにしようとしています; こんにちは、ボビーです

代わりに、次の 3 つを返します。

こんにちは、ボビー
です
こんにちは、ボビーです

なぜ3回戻ってくるのかわかりません

4

4 に答える 4

1

Codecademy は何らかの理由で関数を 3 回実行します。基本的には、何かを検出し、正しいコードについてヒントを与えるためですconsole.logreturn代わりに使用すると機能します。

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

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

codecademy 関数でコンソールを使用しないでください。通話中でなければなりません。

于 2013-03-19T08:26:33.083 に答える
0

これ自体は、結果を一度だけレンダリングします。たぶん、3回の実行サイクルを保証するコードにネストされています...

于 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 に答える