javascript中{}和[]之间的区别是什么

时间:2014-02-20 15:48:11

标签: javascript backbone.js

使用以下语法编写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"];

感谢

2 个答案:

答案 0 :(得分:4)

  

数组文字是零个或多个表达式的列表,每个表达式都包含在内   表示一个数组元素,用方括号([])括起来。

  

对象文字是零个或多个属性名称对的列表   和对象的关联值,用大括号({})括起来。

答案 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");