如何在javascript对象构造函数中调用自原型函数
为什么我的人在调用一个self方法时不说“你好”?如何解决这个问题如何在javascript对象构造函数中调用自原型函数,javascript,Javascript,为什么我的人在调用一个self方法时不说“你好”?如何解决这个问题 var Person = (function () { function Person() { this.prototype.say(); } Person.prototype.say = function() { alert("hello"); } return Person; })(); var person = new Person(); 要在当前对象上调用函数,您不应该使用原
var Person = (function () {
function Person() {
this.prototype.say();
}
Person.prototype.say = function() {
alert("hello");
}
return Person;
})();
var person = new Person();
要在
当前对象上调用函数,您不应该使用原型
,只需调用它(this.say()
)
要了解有关javascript中OOP的更多信息,您可以阅读
关于继承
和原型链
来自@FelixKling的好消息
此
引用的对象没有原型
属性。只有函数具有原型属性
要在当前对象上调用函数,您不应该使用原型
,只需调用它(this.say()
)
要了解有关javascript中OOP的更多信息,您可以阅读
关于继承
和原型链
来自@FelixKling的好消息
此
引用的对象没有原型
属性。只有函数具有原型属性
isvforall的解决方案很好
关键是“原型”定义了Person()构造函数中正在“构造”的对象上可用的函数,称为“this”
原型是使用Person()构造的所有对象的共享基础定义。在Person()构造函数和其他原型方法中,实例本身被“this”引用
请参阅等文档以供参考。isvforall的解决方案很好
关键是“原型”定义了Person()构造函数中正在“构造”的对象上可用的函数,称为“this”
原型是使用Person()构造的所有对象的共享基础定义。在Person()构造函数和其他原型方法中,实例本身被“this”引用
请参阅文档,如以供参考。我在fiddler上试用过,但似乎不起作用@user310291我已更新了代码谢谢,现在可以了。你能进一步解释为什么你的工作而不是我的吗?我正在重新学习javascript OOP。@user310291:此
引用的对象没有原型
属性。只有函数具有原型
属性。该属性的值将成为此
的值的原型。如果您想了解原型是如何工作的,我建议您阅读。@FelixKling good link,我正在阅读它。我在fiddler上试过,但似乎不起作用@user310291我已经更新了代码谢谢,现在它可以工作了。你能进一步解释为什么你的工作而不是我的吗?我正在重新学习javascript OOP。@user310291:此
引用的对象没有原型
属性。只有函数具有原型
属性。该属性的值将成为此
的值的原型。如果您想了解原型是如何工作的,我建议您阅读。@FelixKling good link,我正在阅读。内部和外部Person
变量不要使用相同的名称。@Barmar为什么?这是一种非常常见的做法。因为您对分配给哪个人的原型感到困惑。您想分配给外部的人员。prototype
,而是分配给内部人员。@Barmar返回人员代码>它们是一样的。它被分配给“内部”人员的原型,然后返回并分配给“外部”人员。他们在使用IIFE。不要对内部和外部Person
变量使用相同的名称。@Barmar为什么?这是一种非常常见的做法。因为您对分配给哪个人的原型感到困惑。您想分配给外部的人员。prototype
,而是分配给内部人员。@Barmar返回人员代码>它们是一样的。它被分配给“内部”人员的原型,然后返回并分配给“外部”人员。他们用的是生活。
var Person = (function() {
function Person() {
this.say();
}
Person.prototype.say = function() {
alert("hello");
}
return Person;
})();
var person = new Person();