这行代码中有一段代码
Boo.prototype.initone (a) { <-- Syntax error
我想用一个属性this.bar创建一个Boo的简单对象,为什么这会给我一个错误?下面列出了错误,这是一个未被捕获的语法错误,但我没有看到它。
我知道不应该发布语法错误,但我只是没有看到下面这段代码的完全错误。
错误代码:
Boo.prototype.initone (a) {
this.bar = a;
return this;
}
错误
Uncaught SyntaxError: Unexpected token {
代码:
<script>
function Test1() {
}
function Boo () {
this.bar = 'Test This Method';
}
Boo.prototype.initone (a) {
this.bar = a;
return this;
}
Boo.prototype.inittwo (b) {
this.bar = 'something to do with ' + b;
return this;
}
var a = new Boo().initone('constructor 1');
var b = new Boo().inittwo('constructor 2');
</script>
代码:此代码仍会显示未捕获的异常。如果我把这个返回,那么initone上不会出现错误,但inittwo似乎没问题。
Boo.prototype.initone = function (a) {
this.bar = a;
return this;
}
Boo.prototype.inittwo = function (b) {
this.bar = 'something to do with ' + b;
return this;
}
答案 0 :(得分:5)
您在此处收到语法错误,因为JavaScript并不知道您想要做什么。如果您要定义一项功能,则需要使用function
关键字指定。
在这种情况下,需要写成:
Boo.prototype.initone = function(a) {
this.bar = a;
return this;
}
您还需要对inittwo
方法进行更改。
答案 1 :(得分:3)
因为这不是你如何在JS中定义一个对象的函数:)
你必须使用等号:
Foo.prototype.initone = function(bar){
}
我认为您正在记住定义类似函数的语法:
function f() { }