TypeError:a.apply不是函数

dew*_*ewd 9 javascript backbone.js

我正在关注一个为初学者提供的backbone.js教程,而且我遇到了第一个障碍.我TypeError: a.apply is not a function在firebug中遇到错误(Firefox 20.0.1).我有以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Backbone Test</title>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.1.1/css/bootstrap.min.css" />
<meta charset="utf-8" />
</head>
<body>

    <div class="container">
        <h1>User Manager</h1>
        <hr />
        <div class="page"></div>
    </div>

    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.2/underscore-min.js" type="text/javascript"></script>   
    <script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
    <script>
        var Router = new Backbone.Router.extend({
            routes: {
                '': 'home'
            }    
        });

        var router = new Router();

    </script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我正在使用这些旧版本的jquery,下划线主干,因为它们是本教程中使用的版本.我尝试使用所有的当前版本,我得到一个类似的错误:"TypeError:i .apply不是一个函数".

创建路由器实例时会发生错误,即var router = new Router();上面的行:

这个错误与我的设置有关吗?WAMP,或代码,或库?我无法理解它,因为它与教程中的字母相同.

Rob*_*ska 21

更改

    var Router = new Backbone.Router.extend({
Run Code Online (Sandbox Code Playgroud)

    var Router = Backbone.Router.extend({
Run Code Online (Sandbox Code Playgroud)

当你扩展这些类时,你只需要调用extend,它将返回new稍后你将调用的构造函数.