Javascript,对象数组?

时间:2015-06-08 08:45:11

标签: javascript oop jquery-mobile mobile

我有点像JS菜鸟,但口袋里有很好的.net经验。

我正在开发一个移动网站/应用,我从自定义网络服务收集了一些类似于商家信息的数据。

在.net上,此时我会开始构建一个由其他“业务列表类”列表组成的自定义类。然后,我会遍历列表中的每个自定义对象,并在屏幕上使用它。

两个问题:

  • 我的javascript方法应该与上面不同吗?
  • 这可以在Javascript中完成吗?

我知道javascript没有类persè,我知道你可以将自定义函数作为“类”。我是否只是为了实例化一堆不同版本的自定义函数,并将其全部添加到数组中?

我几乎感觉我应该坚持使用json格式?或者构建简单的数组? (从我到目前为止从Javascript中学到的东西......)

我是否过度工程?我不确定正确的javascript方法是什么。

1 个答案:

答案 0 :(得分:2)

老实说,这取决于您对此array

的要求

如果您要通过XMLHTTPRequest发送,那么我说您应该使用JSON格式。

var arr_of_objs = [{},{}]; //fill it up however you need it

如果此数组将包含具有相同attributes/properties的对象,并且您将使用此客户端,则创建&#34;类&#34; < / em>是最佳的。

var person = function(o){
  this.name = o.name || 'unknown';
  this.height = o.age || -1;
}
var arr_of_classes = [];
for(var i = 0; i < 10; i++){
  arr_of_classes.push(new person({
    name: 'name' + i,
    age: 10 + i
  }));
}

为何停在那里?您甚至可以创建一个自定义类来处理实例。

    (function(){
      var person = function(o){
        this.name = o.name || 'unknown';
        this.height = o.age || -1;
      }
      var personHandler = function(){
        if(!(this instanceof personHandler)){
          return new personHandler();
        }
        this.persons = [];
      }
      personHandler.fn = personHandler.prototype = {
        load: function(){
          for(var i = 0; i < 10; i++){
            this.persons.push(new person({
              name: 'name' + i,
              age: 10 + i
            }));
          }
        },
        remove: function(index){
          //do stuff
        }

      }

   //export it
   window.personHandler = personHandler;

    })();

那你就是这么简单。

personHandler().load();