Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中创建对象内部的对象_Javascript_Object - Fatal编程技术网

如何在Javascript中创建对象内部的对象

如何在Javascript中创建对象内部的对象,javascript,object,Javascript,Object,我试图创建一个对象-其中的每个参数都是另一个对象: var divTextPerScreenWidthMap = new Object( {'360','click'}, {'480','click it'}, {'768','click it right'}, {'1024','you know you want to click it'}, {'1280','click this button which is very

我试图创建一个对象-其中的每个参数都是另一个对象:

var divTextPerScreenWidthMap = new Object(
       {'360','click'},
       {'480','click it'},
       {'768','click it right'},
       {'1024','you know you want to click it'},
       {'1280','click this button which is very long will help you'}
    );
这是不工作,因为我得到一个错误。我需要如何编写它才能使其工作?我应该将外部对象更改为数组吗?如何更改

谢谢
除此之外,不要通过构造函数创建
对象,请使用文本语法
{}


此外,对象具有键和属性。您的对象似乎只有值。你是想使用数组吗?

你完全忘了给你的值指定键。如果不想使用键,请使用数组:

var divFoo = [
  [360, "click"],
  [480, "click it"] // et cetera
];
这将为您提供一个数组。例如,
divFoo[0][0]==360

如果需要关键点,请使用对象:

var divFoo = {
  "360": "click",
  "480": "click" // et cetera
}
这将为您提供简单的对象
divFoo[360]=“单击”

或者,您可以使用对象数组以获得更高的描述性:

var divFoo = [
  {time: 360, text: "click"},
  {time: 480, text: "click it"} // et cetera
];
在本例中,
divFoo[1]。text==“单击它”

此外,还有一些提示:

  • 不要使用
    新对象
    新数组
    。它们是多余的
  • 如果将整数用作值,则无需引用它们

    • 在javascript中,对象是一个简单的映射。最好使用文字{}而不是新对象()


      你有语法错误

      首先,对象文字遵循以下语法:

      var literal = {
          "Name": "value",
          "Array": [],
          "NestedObject": {}
      };
      
      名称值分隔符是冒号,而不是逗号

      编辑

      上面的代码可以重写如下

      // declaration via array initializer
      var myArray = [
         // name : value syntax
         {'360': 'click'},
         // values separated by comma
         {'480': 'click it'},
         {'768': 'click it right'},
         {'1024': 'you know you want to click it'},
         {'1280': 'click this button which is very long will help you'}
      ]
      
      firstObject["360"] = "not click";
      
      但是,此时您无法通过以下名称访问对象:

      var firstObject = myArray[0];
      // will throw an error
      firstObject.360 = "not click";
      
      您只能按如下方式使用它

      // declaration via array initializer
      var myArray = [
         // name : value syntax
         {'360': 'click'},
         // values separated by comma
         {'480': 'click it'},
         {'768': 'click it right'},
         {'1024': 'you know you want to click it'},
         {'1280': 'click this button which is very long will help you'}
      ]
      
      firstObject["360"] = "not click";
      

      因此,我建议您根据变量命名规则命名属性。

      将对象集合表示为数组是有意义的:

      var divTextPerScreenWidthMap=[
      {360:'点击'},
      {480:'单击它'},
      {768:'右击'},
      {1024:'你知道你想点击它'},
      {1280:'点击这个很长的按钮将帮助您'}
      ];
      //您可以使用for循环迭代对象数组:
      var i,价值;
      对于(i=0;i警报(divTextPerScreenWidthMap[屏幕宽度])您有一个语法错误。