首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这行Javascript代码有错误?

为什么这行Javascript代码有错误?
EN

Stack Overflow用户
提问于 2014-07-07 02:20:25
回答 2查看 64关注 0票数 0

在这一行代码中有一个代码

代码语言:javascript
复制
 Boo.prototype.initone (a) { <-- Syntax error

我想用一个属性this.bar创建一个简单的Boo对象,为什么这会给我一个错误?错误列在下面,这是一个未明的语法错误,但我没有看到它。

我知道语法错误不应该发布,但我只是不明白下面这段代码有什么问题。

错误代码在这里:

代码语言:javascript
复制
 Boo.prototype.initone (a) {
     this.bar = a;
     return this;
 }

错误

代码语言:javascript
复制
 Uncaught SyntaxError: Unexpected token { 

代码:

代码语言:javascript
复制
<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上不会出现错误,但是init-2似乎没有问题。

代码语言:javascript
复制
Boo.prototype.initone = function (a) {
    this.bar = a;
    return this;
}

Boo.prototype.inittwo = function (b) {
    this.bar = 'something to do with ' + b;
    return this;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-07 02:23:22

这里出现了语法错误,因为JavaScript不知道要做什么。如果要定义函数,则需要使用function关键字指定它。

在这种情况下,它需要写成:

代码语言:javascript
复制
Boo.prototype.initone = function(a) {
    this.bar = a;
    return this;
}

您还需要对inittwo方法进行更改。

票数 5
EN

Stack Overflow用户

发布于 2014-07-07 02:27:24

因为在JS :中不是这样定义对象上的函数的:)

你必须使用等号:

代码语言:javascript
复制
Foo.prototype.initone = function(bar){
}

我认为您正在记住定义如下函数的语法:

代码语言:javascript
复制
function f() { }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24602268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档