gpt4 book ai didi

javascript - 如何调用与类中的方法同名的构造函数原型(prototype)的基方法?

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:19 29 4
gpt4 key购买 nike

鉴于我有:

var PersonClass = function () {
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;

this.name = function(){
return this.firstName + " " + this.lastName;
};

this.setName = function(a,b){
this.firstName = a;
this.lastName = b;
return this.firstName + " " + this.lastName;
}
}

Person.prototype.name = function () {
return "Proto_:"+this.firstName + " " + this.lastName;
};

Person.prototype.whoAreYou = function () {
return "Hi i'm " + this.name();
};

Person.prototype.setName2 = function(a,b){
this.firstName = a;
this.lastName = b;
};

return Person;
}(); //PersonClass

我创建了一个实例:Me = new PersonClass("史蒂夫","本杰");me.name()//返回 Steve Benj。什么会调用原型(prototype)名称方法并返回 Proto_:Steve Benj ?

最佳答案

Person 构造函数中定义的函数将覆盖/覆盖其下方出现的原型(prototype)定义,因此没有好的方法可以通过构造函数中定义的函数调用原型(prototype)函数(请参阅您帖子中“坏的”评论) “方式)。

我会考虑您是否要为这两个函数使用相同的名称,除非这不是您的实际用例。我想说你会想要创建一个名为 protoName 或类似名称的原型(prototype)函数,如果你想要不同的行为,你应该定义不同的函数。

关于javascript - 如何调用与类中的方法同名的构造函数原型(prototype)的基方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773024/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com