0

我刚刚开始学习 Backbone,但我对模型有疑问。我已经创建了对象,但是当我尝试从创建的对象中获取属性时,我从控制台获得的属性是未定义的。你能告诉我为什么吗?

Person = Backbone.Model.extend({

defaults: {

    name: 'Fetus',

    age: 0,

    child: ''

},

initialize: function() {

    alert("Welcome to this world");

}

  });

这是来自控制台:

var person = new Person({ name: "tom", age: 15, child: "jerry" });
undefined 

var name = person.get("name");
undefined

为什么我在这里没有得到“tom”这个名字???

谢谢

4

2 回答 2

1

我想这只是对控制台输出的误解,您在控制台中输入:

var name = person.get("name");

并且您打算将 name 变量的值视为控制台输出,但声明变量后的控制台输出不是变量值,因此您可以这样做:

person.get("name");

或者

var name = person.get("name");
name //outputs the value of name variable in your console

在您的控制台中,您将看到您的代码运行良好。;)

于 2013-11-10T08:47:41.417 回答
0

当我在小提琴中加载您的代码时,它确实有效。您确定这不是竞争条件问题,并且创建 Person 的代码在您尝试使用它之前正在运行吗?

于 2013-11-09T18:03:13.830 回答