【问题标题】:JavaScript Object Literals & Array LiteralsJavaScript 对象文字和数组文字
【发布时间】:2010-10-04 18:36:21
【问题描述】:

JavaScript 中的对象文字和数组文字有什么区别?我知道它与长度方法有关,但我不完全理解。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    Mozilla.org 用示例很好地解释了不同的文字。

    数组文字

    数组字面量是一个零列表或 更多的表达式,每一个 表示一个数组元素,括起来 在方括号 ([]) 中。当你 使用数组创建数组 字面量,它被初始化为 指定值作为其元素,以及 它的长度设置为 指定的参数。

    对象文字

    对象字面量是一个零列表或 更多对属性名称和 对象的关联值, 括在花括号 ({}) 中。你 不应使用对象字面量 声明的开头。这 将导致错误或不表现为 您期望,因为 { 将是 解释为一个开始 块。

    【讨论】:

      【解决方案2】:

      不同之处在于它们的索引方式。
      对象具有未排序的名称、值对。在某些浏览器中,您添加值的顺序将是您在遍历对象时获得的顺序,但不是全部。名称通常是一个字符串。
      数组是数字索引的,顺序是完全可靠的

      【讨论】:

        【解决方案3】:

        对象字面量

        var a = {};
        

        数组字面量

        var a = [];
        

        就是这样!

        【讨论】:

          【解决方案4】:

          PHP 的数值数组在 JavaScript 中变成数组字面量或对象字面量

          $ar = array('apple', 'orange', 'banana', 'strawberry');
          
          echo json_encode($ar); // ["apple","orange","banana","strawberry"] - Array literal
          
          echo json_encode($ar, **JSON_FORCE_OBJECT**); // {"0":"apple","1":"orange","2":"banana","3":"strawberry"} - Object Literal
          

          PHP 的关联数组成为 JavaScript 中的对象字面量

          $book = array(
                   "title" => "JavaScript: The Definitive Guide",
                   "author" => "David Flanagan",
                   "edition" => 6
                  );
          
          echo json_encode($book); // {title: "JavaScript: The Definitive Guide", author: "David Flanagan", edition: 6} - Object Literal
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-11-08
            • 1970-01-01
            • 1970-01-01
            • 2010-11-09
            • 2023-03-13
            • 1970-01-01
            • 1970-01-01
            • 2023-01-31
            相关资源
            最近更新 更多