首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >逗号是否仅应用于javascript中的console.log来连接字符串的变量?

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

Stack Overflow用户
提问于 2019-04-16 13:24:31
回答 2查看 264关注 0票数 0

请启发我,因为我是新的javascript。下面有示例1和2,我想知道为什么当使用关键字"return“时,示例2不能显示正确的预期结果。我知道plus(+)符号可以解决这个问题,只是想知道何时在javascript中使用逗号(,)来连接变量。

代码语言: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"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-16 13:27:25

括号内的逗号标记一个函数,调用分隔参数表达式。在外部,就像在return语句中一样,它们是“逗号运算符”。

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

return基本上相当于

代码语言:javascript
复制
"my name is ";
this.firstName + " ";
return this.lastName;

示例中的逗号将整个表达式分成三个部分,每个部分分别进行评估。a, b, c的整体值仅为c的值。

票数 1
EN

Stack Overflow用户

发布于 2019-04-16 13:30:07

使用

代码语言:javascript
复制
    console.log("my name is ",this.firstName +" ",this.lastName);

将几个参数传递给console.log函数。它就像任何普通的函数调用一样工作。console.log的参数数量或多或少是任意的,函数将知道如何处理它们(有点像Math.max)。

代码语言:javascript
复制
    return "my name is ",this.firstName +" ",this.lastName;

不返回多个值(看起来它将返回this.lastName)。函数可以返回单个值,或者根本不返回值。如果要将上述内容连接到单个字符串,则必须采取不同的做法。例如,使用+

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55709288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档