函数构造函数-使用原型添加函数给定-未捕获语法错误:意外的令牌{



我尝试使用原型链接将函数y()添加到对象构造函数x中。导致unexpected错误:

意外的令牌{

function x(a, b) {
this.a = a
this.b = b
}
x.prototype.y(){
console.log('hello')
}

我想要函数x为:

function x(a, b) {
this.a = a; 
this.b = b; 
y() 
}

您没有将y分配给函数。您的语法无效。相反,使用匿名函数:

x.prototype.y = function() {...}

参见下面的工作示例:

function x(a, b) {
this.a = a
this.b = b
}
x.prototype.y = function() {
console.log('hello');
}
let a = new x(1, 2);
a.y();

如果希望方法为静态,则可以省略prototype:

function x(a, b) {
this.a = a
this.b = b
}
x.y = function() {
console.log('hello');
}
x.y();

您不能使用该语法-您需要这样声明它:

x.prototype.y = function() {
console.log("Hello");
};

这是因为你要将一个匿名函数分配给对象的一个属性——这就像你在构造函数中这样做一样。以下是您的代码的完整示例:

function x(a, b) {
this.a = a
this.b = b
}
x.prototype.y = function() {
console.log("Hello");
};
var anX = new x("a", "b");
anX.y();

相关内容

  • 没有找到相关文章

最新更新