Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中组合名字和姓氏?_Javascript_Jquery - Fatal编程技术网

如何在javascript中组合名字和姓氏?

如何在javascript中组合名字和姓氏?,javascript,jquery,Javascript,Jquery,嗨 如何在javascript中组合名字和姓氏?我犯了一个错误 **"error" "TypeError: Person.fname is not a function at Person.fullname (hovaqedile.js:14:17) at hovaqedile.js:19:40 at https://static.jsbin.com/js/prod/runner-4.1.4.min.js:1:13924 at https://static.jsb

如何在javascript中组合名字和姓氏?我犯了一个错误

**"error"
"TypeError: Person.fname is not a function
    at Person.fullname (hovaqedile.js:14:17)
    at hovaqedile.js:19:40
    at https://static.jsbin.com/js/prod/runner-4.1.4.min.js:1:13924
    at https://static.jsbin.com/js/prod/runner-4.1.4.min.js:1:10866**

您能告诉我如何用javascript打印call first name和lastname吗。我会更深入地阅读它,因为它是一种非常有用的语言。看看上面的图片

在代码中:

function Person(){

}

Person.prototype.fname=function(){
  return "abc"
}

Person.prototype.lname=function(){
  return "lop"
}

Person.prototype.fullname=function(){
  return Person.fname() + Person.lname()
}

var p = new Person();

console.log(p.fullname())
Person.prototype.fullname = function() {
  return this.fname() + this.lname();
}

您应该使用
这个
关键字,它是对当前对象的引用

职能人员(){
}
Person.prototype.fname=函数(){
返回“abc”
}
Person.prototype.lname=函数(){
返回“lop”
}
Person.prototype.fullname=函数(){
返回this.fname()+this.lname()
}
var p=新人();

console.log(p.fullname())
在函数中使用
prototype
结构时,需要使用
this
。这是因为
This
在使用
prototype
结构时将占据整个功能
Person
的范围。另外,在
fname
lname
之间使用空格

职能人员(){
}
Person.prototype.fname=函数(){
返回“abc”
}
Person.prototype.lname=函数(){
返回“lop”
}
Person.prototype.fullname=函数(){
返回此.fname()+“”+this.lname()
}
var p=新人();
console.log(p.fullname())
Person.fname()不是函数,因为调用实例的函数时必须引用实例<代码>人物是原型。您可以使用
this
(这里指的是实例->更多信息)而不是
Person


第二种解决方案之所以有效,是因为
fname
lname
对于
Person
的所有实例都是常量,但如果将它们设置为动态的,则不再有效。在自己的实例中创建新实例有点奇怪。我推荐第一种解决方案。@miquelarranz,是的,我删除了它。最好对您的“仅代码”答案添加一些解释,尤其是因为您正在对提供的代码进行重大更改。另外,您的引号不正确。我正在将两个属性连接到一个新属性fullName;firstName+lastName=fullNamefullName'既是方法也是属性这“允许您访问当前对象中的属性”此.fullName'存储连接并在对象Person中创建新属性。然后我调用该方法;Person.fullName(),这会将名字和姓氏填充到新属性fullName中。
Person.prototype.fullname = function() {
  return this.fname() + this.lname();
}
var Person = {
      firstName: ‘John’,
      lastName: ‘Smith’,
      fullName: function (){
          this.fullName = this.firstName 
          + ‘ ‘ + this.lastName;
      }
};
Person.fullName();
console.log(Person.fullName);