在Node.js中返回对象文字时出错

时间:2015-06-08 00:35:27

标签: javascript node.js

我在我的应用程序中有以下代码,因为我正在按照lynda.com教程学习Node.js我得到一些错误就行了:o说“意外令牌”

var number, origin, destination;

exports.setNumber = function(num){
    number = num;
}

exports.setOrigin = function(o){
    origin = o;
}

exports.setDestination = function(d){
    destination = d;
}

exports.getInfo = function(){
    return 
    {
        number: number,
        origin: origin,
        destination: destination
    };
};

我不知道错误是什么,我在lynda.com上逐行了解教程

1 个答案:

答案 0 :(得分:3)

return 
{ ... }

相当于

return;
{ ... }

因为JavaScript的automatic semicolon insertion。如果要将返回值分布在多行上,则必须在同一行上启动对象文字:

return {
  // ...
};

您收到错误是因为

{
    number: number,
    origin: origin,
    destination: destination
};

被解释为blocknumber:被解释为label和t he , as a sequence expression,这基本等同于

(number, origin: origin, destination: destination)

origin:在这个位置上无效。