2015-06-08 186 views
1

我是一位JS noob,但在我的口袋裏有很好的.net體驗。Javascript,數組對象?

我正在使用移動網站/應用程序,並且收集了一些類似於來自自定義Web服務的商家信息的數據。

在.net上,我現在已經開始構建一個由其他「商業列表類」組成的自定義類。然後,我會遍歷列表中的每個自定義對象,並在屏幕上使用它。

兩個問題:

  • 如果我的JavaScript方法比上面有什麼不同?
  • 這可以在Javascript中完成嗎?

我知道JavaScript沒有類persè,而且我知道你可以有一個自定義函數作爲「類」。然後,我只是實例化一堆不同版本的自定義函數,並將其全部添加到數組中?

我幾乎覺得我應該堅持使用json格式呢?或者建立簡單的數組? (從我從Javascript學到的東西..)

我在這方面的工程?我不確定什麼是正確的JavaScript方法。

+0

我不確定你讀的那個* javascript沒有類*。你應該閱讀更多。這是一個很好的參考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript – Yellen

+0

啊啊謝謝,也許不是在我習慣了.NET平臺上的它?我指的是我發佈的這個問題。 http://stackoverflow.com/questions/28697390/javascript-class-hierarchy-is-there-such-a-thing –

+1

JavaScript沒有課,@Louis是對的。 JS有原型繼承。面向對象並不意味着類。 – laruiss

回答

2

老老實實取決於你想要做這個array

如果您打算通過XMLHTTPRequest發送它,然後我說你應該使用JSON格式是什麼。

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

如果陣列會用相同的attributes/properties到包括對象和你要使用這個客戶端,創造「類」是最佳的。

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();