在javascript中创建对象数组

前端之家收集整理的这篇文章主要介绍了在javascript中创建对象数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习来自.NET背景的 javascript.我有一个关于如何处理对象数组的问题,创建和操作似乎不像.NET那么容易/明显.

通常在.NET代码中,我使用结构(c#)或结构(VB.NET)来管理简单的值构造,例如(在VB.NET中):

  1. Public Structure WidgetsStruc
  2. Public Name As String
  3. Public LocX As Integer
  4. Public LocY As Integer
  5. End Structure
  6. Private myWidgets As New WidgetsStruc
  7. myWidgets.LocX = 35
  8. myWidgets.LocY = 312
  9. myWidgets.Name = "compass"
  10. MessageBox(myWidgets.Name) ' shows 'compass'
  11. ...

在我从事研究的javascript中没有任何相当的东西,尽管你可以使用一个对象并将它“推”到如下所示的数组上:

  1. var widget = new Object();
  2. var widgetTemplates = new Array();
  3. widgetTemplates.push(widget);
  4. widgetTemplates[0].name = "compass";
  5. widgetTemplates[0].LocX = 35;
  6. widgetTemplates[0].LocY = 312;
  7. alert(widgetTemplates[0].name); // also shows 'compass'

也许我不习惯使用更松散的类型语言,但上面的JavaScript看起来并不是最佳的(例如,必须将没有声明结构的对象“推”到数组中并在之后初始化变量,加上’pop’和’切片’去除).

我做对了吗?是否有更好或更简单的方式来声明&使用对象数组?我也研究了JSON,但不确定如何使用它来操作数组中的用户定义对象.

作为JavaScript n00b – 感谢任何指导!

解决方法

您可以使用对象和数组文字表示法:
  1. var widgetTemplats = [
  2. {
  3. name: 'compass',LocX: 35,LocY: 312
  4. },{
  5. name: 'another',LocX: 52,LocY: 32
  6. }
  7. ]

对于像这样的简单事情,缺乏强制结构是相当正常的.如果您确实需要更强制的结构,或者将行为附加到对象,您应该在JavaScript中查看类:

  1. var Widget = function(name,x,y) {
  2. this.name = name;
  3. this.LocX = x;
  4. this.LocY = y;
  5. };
  6.  
  7. var widgets = [
  8. new Widget('compass',35,312),new Widget('another',52,32)
  9. ];

猜你在找的JavaScript相关文章