Function Constructor - add function using prototype gives - Uncaught SyntaxError: Unexpected token {
Function Constructor - add function using prototype gives - Uncaught SyntaxError: Unexpected token {
我尝试使用原型链将函数 y()
添加到对象构造函数 x
中。它导致 unexpected
错误:
Unexpected token {
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()
}
您不能使用该语法 - 您需要像这样声明它:
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();
您没有将 y
分配给函数。您的语法无效。相反,使用 anonymous function:
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();
如果您希望该方法是 static 您可以省略 prototype
:
function x(a, b) {
this.a = a
this.b = b
}
x.y = function() {
console.log('hello');
}
x.y();
我尝试使用原型链将函数 y()
添加到对象构造函数 x
中。它导致 unexpected
错误:
Unexpected token
{
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()
}
您不能使用该语法 - 您需要像这样声明它:
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();
您没有将 y
分配给函数。您的语法无效。相反,使用 anonymous function:
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();
如果您希望该方法是 static 您可以省略 prototype
:
function x(a, b) {
this.a = a
this.b = b
}
x.y = function() {
console.log('hello');
}
x.y();