Javascript 如何正确扩展已定义的对象?

Javascript 如何正确扩展已定义的对象?,javascript,backbone.js,Javascript,Backbone.js,我正在寻找一个很好的博客系列称为重新学习主干。我想尝试一下那里的一些代码,以确保我在这方面做得更好,因为我对Javascript有点陌生 我想要运行的代码非常简单 var MovieApp = { Models: {}, Collections: {}, Views: {}, Templates: {} }; var MovieApp.Models.Movie = Backbone.Model.extend ({ defaults: { tit

我正在寻找一个很好的博客系列称为重新学习主干。我想尝试一下那里的一些代码,以确保我在这方面做得更好,因为我对Javascript有点陌生

我想要运行的代码非常简单

var MovieApp = {
    Models: {},
    Collections: {},
    Views: {},
    Templates: {}
};

var MovieApp.Models.Movie = Backbone.Model.extend ({

    defaults: {
    title: 'Bag IT',
    year: 2010,
    averageRating: 4.6,
    rating: 'NR'
    },

    initialize: function() {
    console.log('Movie Model Create');
    }

});

var movie = new MovieApp.Models.Movie();
但是当我加载页面时,控制台上会显示以下错误

Uncaught SyntaxError: Unexpected token .
这条线就是这条

var MovieApp.Models.Movie = Backbone.Model.extend ({
我花了几个小时看它,我不明白为什么。也许我错过了一些非常基本的东西,但我看不到

所有必要的库都已加载

如果有人能帮助我,我将不胜感激。 谢谢

删除var MovieApp.Models.Movie前面的var。

MovieApp.Models.Movie不是变量

MovieApp是一个变量

MovieApp.Models是一个子属性。 MovieApp.Models.Movie是一个孙子

只有变量使用var,并且只有在声明变量时才使用


不使用var,只需声明您正在更改/添加属性:x.y=z

从var MovieApp.Models.Movie=Backbone.Model.extend删除var{

Wow-谢谢。虽然其他答案帮助我解决了这个错误,但这篇文章帮助我理解了原因。我感谢你的解释。