在JavaScript中向“类”添加属性
javascript中没有实际的类。但你必须用你得到的东西来工作 让我们以这个类为例:在JavaScript中向“类”添加属性,javascript,class,prototype,Javascript,Class,Prototype,javascript中没有实际的类。但你必须用你得到的东西来工作 让我们以这个类为例: var example = function (string) { this._self = string; } 通过以上步骤,您可以执行以下操作: var ex = new example("Hello People."), display = ex._self; // returns "Hello People." 我认为通过使用example.prototype.newFun=funct
var example = function (string) {
this._self = string;
}
通过以上步骤,您可以执行以下操作:
var ex = new example("Hello People."),
display = ex._self; // returns "Hello People."
我认为通过使用example.prototype.newFun=function{}之类的东西,可以为该类添加一个新属性。但它在我的代码中不起作用
以下是我正在测试的完整代码:
var example = function (string) {
this._self = string;//public, var like, storage
}
var showExample = new example("Hello People");
showExample.prototype.display = function (a) {//code stops here, with error "Uncaught TypeError: Cannot set property 'display' of undefined"
return a;
}
console.log(showExample._self);
console.log(showExample.display("Bye"));
我要做的是将display函数作为公共函数添加到示例函数中。我可能做错了什么。因为没有showExample的原型-它只是示例的一个实例。尝试这样做:example.prototype.display=函数a{},它会工作的 下面是关于JavaScript类的更多信息: 我喜欢处理这个问题的方式以及类在中的实现方式
因为showExample没有原型——它只是一个示例的实例。尝试这样做:example.prototype.display=函数a{},它会工作的 下面是关于JavaScript类的更多信息: 我喜欢处理这个问题的方式以及类在中的实现方式
您尝试将方法添加到示例showExample实例的原型中。该实例没有原型。试试example.prototype.display=函数{/*…*/};换句话说,将该方法添加到showExample的构造函数原型中,即example,然后再次检查。之后,示例的所有实例都“知道”显示方法,或者用您的话来说,显示对所有实例都是“公开的”
可以使用showExample.display=function{/*…*/};将该方法添加到实例中;。使用该方法,只有showExample知道显示方法的原理。您尝试将方法添加到示例showExample实例的原型中。该实例没有原型。试试example.prototype.display=函数{/*…*/};换句话说,将该方法添加到showExample的构造函数原型中,即example,然后再次检查。之后,示例的所有实例都“知道”显示方法,或者用您的话来说,显示对所有实例都是“公开的”
可以使用showExample.display=function{/*…*/};将该方法添加到实例中;。使用该方法,只有showExample知道显示方法。拥有原型的不是对象,而是用于创建对象的函数:
var example = function (string) {
this._self = string;
}
example.prototype.display = function (a) {
return a;
};
拥有原型的不是对象,而是用于创建对象的函数:
var example = function (string) {
this._self = string;
}
example.prototype.display = function (a) {
return a;
};
在您的案例中,showExample是示例的对象 使用
在您的案例中,showExample是示例的对象 使用
您可以修改showExample的构造函数 前
您可以修改showExample的构造函数 前
showExample.constructor.prototype.display = function (a) {
return a;
}