在 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){ ..... } }
要转换 JSON 响应,我们可以使用以下方法:
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]); } }
注意: 提供的 run 方法应该添加到 Animal.prototype 对象而不是单个实例中。
以上是如何在 JavaScript 中将对象转换为类实例的详细内容。更多信息请关注PHP中文网其他相关文章!