【问题标题】:What is the valid Javascript syntax for creating an object by using Object Literal Notation?使用 Object Literal Notation 创建对象的有效 Javascript 语法是什么?
【发布时间】:2014-09-20 07:15:23
【问题描述】:

我正在 codecademy.com 学习 Javascript 轨道。我对使用“Object Literal Notation”创建对象感到困惑。

这里syntax1,在提示部分的语法是:

var friends = {
    bill: {},
    steve: {}
};

我们需要这些花括号在对象的花括号内包含键的值。

但是,在syntax2 中,语法是:

var myObject = {
    key: value,
    key: value,
    key: value
};

请参阅,不需要对象的花括号内的花括号容器。 正如我做的练习一样,我们只需要:直接输入数字和函数,或在引号内输入字符串,或在方括号内输入数组。

有人可以分享他们的知识和时间来告诉我为什么我们有差异或者哪个是正确的语法吗?

【问题讨论】:

  • 明确规定:“使用你朋友的名字作为空对象的键。
  • @all:谢谢大家,你们的快速响应。我需要一些时间来理解和尝试。

标签: javascript object syntax object-literal


【解决方案1】:

这取决于您想要的值。

{} 是一个空对象;其他文字是其他值。

【讨论】:

    【解决方案2】:

    这取决于变量的内容:

    合成器1:

    var obj = {
        name: "Thiago",
        currentYear : 2014
    };
    

    合成器2:

        var obj = {
            name: "Thiago",
            skills: {
               key: "JS",
               value: 1
            }
    
    };
    

    您可以使用 [] 进行初始化,它将是一个数组。

    【讨论】:

    • 匆忙中,您的“syntax1”示例出现了语法错误。
    • Greg,“currentYear = 2014”中的错误是等号吗?抱歉,但我很高兴在我学习的过程中在这里和那里知道一点。
    【解决方案3】:

    “Object Literal Notation”仅表示以下格式:

    var myObject = {
        key1: <value1>,
        key2: <value2>,
        // ...
        keyN: <valueN>
    };
    

    其中&lt;valueX&gt; 可以是任何 JS 值,如布尔值、数字、字符串甚至是另一个 Object(由相同的 { key1: &lt;value1&gt; ... } 语法表示)。

    空对象只是一个没有键(属性)的对象,因此看起来像{ }(空格是可选的)。

    【讨论】:

      猜你喜欢
      • 2016-06-18
      • 1970-01-01
      • 2013-11-13
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      相关资源
      最近更新 更多