请启发我,因为我是新的javascript。下面有示例1和2,我想知道为什么当使用关键字"return“时,示例2不能显示正确的预期结果。我知道plus(+)符号可以解决这个问题,只是想知道何时在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"发布于 2019-04-16 13:27:25
括号内的逗号标记一个函数,调用分隔参数表达式。在外部,就像在return语句中一样,它们是“逗号运算符”。
因此,console.log()所做的神奇之处就是基于函数中的代码,该代码显式地查看传递给它的所有参数。
return基本上相当于
"my name is ";
this.firstName + " ";
return this.lastName;示例中的逗号将整个表达式分成三个部分,每个部分分别进行评估。a, b, c的整体值仅为c的值。
发布于 2019-04-16 13:30:07
使用
console.log("my name is ",this.firstName +" ",this.lastName);将几个参数传递给console.log函数。它就像任何普通的函数调用一样工作。console.log的参数数量或多或少是任意的,函数将知道如何处理它们(有点像Math.max)。
那
return "my name is ",this.firstName +" ",this.lastName;不返回多个值(看起来它将返回this.lastName)。函数可以返回单个值,或者根本不返回值。如果要将上述内容连接到单个字符串,则必须采取不同的做法。例如,使用+。
https://stackoverflow.com/questions/55709288
复制相似问题