逗号是否仅应用于javascript中的console.log以连接变量和字符串?

逗号是否仅应用于javascript中的console.log以连接变量和字符串?,javascript,Javascript,请告诉我,因为我是javascript新手。下面是示例1和示例2,我想知道为什么在使用关键字“return”时示例2不能显示正确的预期结果。我知道加号(+)可以解决这个问题,只是想知道当涉及到变量时,在javascript中何时使用逗号(,)进行连接 sample-1 var person = { firstName: "John", lastName : "Smith", fullName : function() { console.log("my name is ",t

请告诉我,因为我是javascript新手。下面是示例1和示例2,我想知道为什么在使用关键字“return”时示例2不能显示正确的预期结果。我知道加号(+)可以解决这个问题,只是想知道当涉及到变量时,在javascript中何时使用逗号(,)进行连接

sample-1
var person = {
  firstName: "John",
  lastName : "Smith",
  fullName : function() {
    console.log("my name is ",this.firstName +" ",this.lastName);
  }
}
person.fullName(); //my name is  John  Smith

sample-2
var person = {
  firstName: "John",
  lastName : "Smith",
  fullName : function() {
    return "my name is ",this.firstName +" ",this.lastName;
  }
}
person.fullName(); //"Smith"
标记函数调用的括号内的逗号分隔参数表达式。在外部,就像在
return
语句中一样,它们是“逗号运算符”

因此,
console.log()
所起的神奇作用就是基于该函数中的代码,该函数显式地查看您传递给它的所有参数

返回值
基本等同于

"my name is ";
this.firstName + " ";
return this.lastName;
示例中的逗号将整个表达式拆分为三个部分,每个部分分别求值。
a、b、c
的总值仅为
c
的值。

    console.log("my name is ",this.firstName +" ",this.lastName);
将多个参数传递给
console.log
函数。它的工作原理与任何普通函数调用一样。
console.log
的参数数量或多或少是任意的,函数将知道如何处理它们(有点像
Math.max


不返回多个值(看起来它将返回
this.lastName
)。函数可以返回单个值,也可以不返回任何值。如果要将上述内容合并为单个字符串,则必须采用不同的方式。例如,使用
+

逗号运算符计算其每个操作数(从左到右)并返回最后一个操作数的值。@kemotoe除了在函数调用中分离不同的参数外,
返回值
并没有错误,它只是做不到OP所期望的。如果是无效语法,OP就不会注意到奇怪的返回值,因为代码不会运行。
这只是不正确的语法
这是正确的语法。但是计算机做的是你让它做的,而不是你想让它做的。
    return "my name is ",this.firstName +" ",this.lastName;