如何摆脱这种状况;“未定义”;用javascript?

如何摆脱这种状况;“未定义”;用javascript?,javascript,Javascript,我有以下JavaScript代码: var greeting = function (name) { console.log("Great to see you," + " " + name); }; console.log(greeting("name")); 它印刷了: 很高兴见到你,名字 未定义 如何摆脱这个“未定义的” 谢谢。正在打印未定义的,因为默认情况下,如果我们不显式返回任何内容,JavaScript函数将返回未定义的。在问候语函数中,记录字符串,不返回任何内容 所以,有两种方

我有以下JavaScript代码:

var greeting = function (name) {
console.log("Great to see you," + " " + name);
};

console.log(greeting("name"));
它印刷了: 很高兴见到你,名字 未定义

如何摆脱这个“未定义的”


谢谢。

正在打印
未定义的
,因为默认情况下,如果我们不显式返回任何内容,JavaScript函数将返回
未定义的
。在
问候语
函数中,记录字符串,不返回任何内容

所以,有两种方法可以解决这个问题

  • 像这样从
    问候语
    函数返回字符串

    return "Great to see you, " + name;
    
    greeting("name");
    
    注意:正如注释中提到的@nnnnnn,您不必连接额外的空格字符。您可以简单地将其作为前一个字符串的一部分,如本答案所示

  • 或者,不要记录
    问候语的输出,只需像这样调用它即可

    return "Great to see you, " + name;
    
    greeting("name");
    

  • 正在打印
    未定义的
    ,因为默认情况下,如果我们不显式返回任何内容,JavaScript函数将返回
    未定义的
    。在
    问候语
    函数中,记录字符串,不返回任何内容

    所以,有两种方法可以解决这个问题

  • 像这样从
    问候语
    函数返回字符串

    return "Great to see you, " + name;
    
    greeting("name");
    
    注意:正如注释中提到的@nnnnnn,您不必连接额外的空格字符。您可以简单地将其作为前一个字符串的一部分,如本答案所示

  • 或者,不要记录
    问候语的输出,只需像这样调用它即可

    return "Great to see you, " + name;
    
    greeting("name");
    

  • greeting
    函数没有
    return
    语句,因此其返回值未定义。它记录消息,返回
    undefined
    ,然后您将未定义的值传递给
    控制台的第二个调用。log
    。@nnnnnn包括在我的回答中:)@nnnnnn Done:)请检查
    greeting
    函数没有
    return
    语句,因此其返回值未定义。它记录消息,返回
    undefined
    ,然后您将未定义的值传递给第二个调用
    控制台。log
    。@nnnnnn在我的回答中包括:)@nnnnnn完成:)请检查