2014-04-06 78 views
1

我使用的是node.js,我根據here的指示從其網站上安裝了它。我試圖從執行本示例「JavaScript的 - 好的部分」教科書:使用node.js和教科書示例的意外令牌錯誤

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 

這是給出的確切例子,這就是爲什麼我不明白爲什麼這不起作用。我錯過了什麼嗎?

回答

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; 
    } 
};