如何在javascript中组合名字和姓氏?
嗨 如何在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
**"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);