nodeJS syntaxError:意外令牌

时间:2015-10-14 21:14:50

标签: javascript node.js

背景:用户输入app.js中有关航班的详细信息,然后在控制台中将其打印出来。 index.js只使用了一个模块,其中包含一个对象原型。

问题:当我运行命令“node app.js”时,出现以下错误:

/Users/
UserName/Desktop/NodeTrainingWork/04/objectcreat/flight/index.js:3
var this.data = {
    ^^^^
SyntaxError: Unexpected token this
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:413:25)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/UserName/Desktop/NodeTrainingWork/04/objectcreat/app.js:1:76)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)

这是index.js代码:

var Flight = function() {

 var this.data = {
    number: null,
    origin: null,
    destination: null,
    arrivalTime: null
};

this.fill = function(info) {
    for (var prop in this.data) {
        if (this.data[prop] != 'undefined') {
            this.data[prop] = info[prop];
        }
    }
};

this.triggerArrival: function() {
    this.data.arrivalTime = Date.now();
    }

this.getInformation: function() {
    return this.data;
    }   
};      


module.exports = function(info) {
    var instance = new Flight();
    instance.fill(info);
    return instance;

};

这是app.js文件中的代码:

     var flight = require('./flight');


var pdxlax = {
    number: 847,
    origin: 'PDX',
    destination: 'LAX'
};

var pl = flight(pdxlax);
pl.triggerArrival();

console.log(pl.getInformation());


var pk340 = {
    number: 340,
    origin: 'ISL',
    destination: 'DXB'
};

var pk = flight(pk340);
pk.triggerArrival();

console.log(pk.getInformation());

我不知道我哪里出错了。根据我所学到的,我创建对象原型的方法是正确的。

1 个答案:

答案 0 :(得分:5)

var用于创建新变量,而不是在对象上创建属性。

从错误的行中删除var