2013-04-28 58 views
1

我已经得到了下面的代码,但JavaScript似乎并没有执行。javascript根本没有执行

有什么,我从这里失踪?

<!doctype html> 
<html lang="en-US"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Backbonejs</title> 
</head> 
<body> 
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"> 
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"> 
    <script type="text/javascript"> 

     Person = Backbone.Model.extend({ 
      initialize: function(){ 
       console.log('hello world'); 
       this.bind('change:name', function(){ 
        console.log(this.get('name') + "is now the val for name"); 
       }); 
      }, 
      defaults: { 
       name: "Bob hope", 
       height: "unknown" 
      }, 
      validate: function(attributes){ 
       if(attributes.name == "Joe"){ 
        return "Uh oh, you're name is Joe!"; 
       } 
      } 
     }); 

     var person = new Person(); 
     person.set({name: "Joe", height: "6 feet"}); 
    </script> 

</body> 
</html> 
+0

我没有包含jQuery。骨干的唯一硬性依赖是underscore.js – 2013-04-28 12:09:05

回答

3

你缺少结束script标签,它们是必需的:

<script type="text/javascript" src="[...]underscore-min.js"></script> 
<script type="text/javascript" src="[...]backbone-min.js"></script> 

如果没有他们,这看起来好像是从来没有加载骨干。

+0

我应该知道这一点!我现在觉得很愚蠢。非常感谢!!! – 2013-04-28 12:19:17

+0

不用担心,欢迎您:) – 2013-04-28 12:30:27

-2

如果您在浏览器中没有任何错误,这意味着您必须在页面加载或包含jQuery库时执行此代码。