在JavaScript 中將物件轉換為類別實例
當開發人員需要轉換通常從伺服器接收的普通JavaScript 物件時,會出現許多情況響應,進入特定的類別實例以進行進一步處理。當從伺服器接收到的物件缺乏與它們所代表的類別關聯的必要方法和屬性時,就會出現此要求。
先決條件
要將物件轉換為類別實例,我們必須先了解以下內容:
解決方案
一個健壯的解決方案是確保每個構造函數都可以接受類似於實例的物件(包括實際實例)並適當地克隆它們。這確保了實例創建邏輯得到正確處理。
另一種更有效的方法是在類別中建立一個靜態方法來將物件轉換為實例:
Person.fromJSON = function(obj) { // Custom code for creating instances of Person return …; };
具體範例
具體範例function Person() { this.personName = ""; this.animals = []; } function Animal(){ this.animalName = ""; this.run = function(meters){ ..... } }考慮以下簡化範例:
var persons = JSON.parse(serverResponse); for (var i=0; i<persons.length; i++) { persons[i] = $.extend(new Person, persons[i]); for (var j=0; j<persons[i].animals; j++) { persons[i].animals[j] = $.extend(new Animal, persons[i].animals[j]); } }
要轉換JSON 回應,我們可以使用以下方法:
注意: 提供的run 方法應該加入Animal.prototype 物件而不是單一實例中。以上是如何在 JavaScript 中將物件轉換為類別實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!