使用带有教科书示例的node.js时出现意外的令牌错误

时间:2014-04-06 07:44:55

标签: javascript node.js

我正在使用我在其网站上根据可用指示here安装的node.js。我试图从“JavaScript - The Good Parts”教科书中执行这个例子:

var myObject = {
value: 0; 
increment: function (inc) {
    this.value += (typeof inc) === 'number' ? inc : 1;
    }
};
myObject.increment( );
document.writeln(myObject.value);
myObject.increment(2);
document.writeln(myObject.value);

但是,当我调用node test.js(此文件的名称)时,我收到以下错误:

 value: 0;
        ^
SyntaxError: Unexpected token ;
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3

这是给出的确切示例,这就是为什么我对这为什么不起作用感到困惑的原因。我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

对象文字键值对使用逗号分隔,而不是分号。而不是:

var myObject = {
    value: 0; 
    increment: function (inc) {
        this.value += (typeof inc) === 'number' ? inc : 1;
    }
};

使用此:

var myObject = {
    value: 0, 
    increment: function (inc) {
        this.value += (typeof inc) === 'number' ? inc : 1;
    }
};