使用以下语法编写BackboneJS示例应用程序
<script type="text/javascript">
var object = [];
_.extend(object, Backbone.Events);
object.on("alert", function(msg)
{
console.log("Your name is: "+msg);
});
object.trigger("alert","Sarah");
</script>
我注意到如果变量定义如此
,该应用程序可以正常工作var object = {}
两者之间有什么区别吗?
哦,我找到了这个例子 http://eloquentjavascript.net/chapter4.html
{}用于传递JSON,如此
var cat = {colour: "grey", name: "Spot", size: 46};
[]只是一个数组
var cat = ["color one", "color two", "color three"];
感谢
答案 0 :(得分:4)
[]
是array literal:数组文字是零个或多个表达式的列表,每个表达式都包含在内 表示一个数组元素,用方括号([])括起来。
{}
是object literal:对象文字是零个或多个属性名称对的列表 和对象的关联值,用大括号({})括起来。
答案 1 :(得分:3)
简而言之:[]是一个数组,{}是一个对象。
[] is shorthand for new Array()
{} is shorthand for new Object()
基本上,Array也是一个Object,但具有附加功能。但是,不建议将Array用作散列映射(因此,使用字符串作为访问器)。
此外,在您的代码中,Array似乎已扩展为具有某种事件机制。我个人会使用一个对象而不是一个数组,但我想这有理由吗?
var object = [];
_.extend(object, Backbone.Events);
object.on("alert", function(msg)
{
console.log("Your name is: "+msg);
});
object.trigger("alert","Sarah");