Как установить прототип объекта JavaScript, который уже был создан? - PullRequest
101 голосов
/ 10 августа 2011

Предположим, у меня есть объект foo в моем коде JavaScript.foo - сложный объект, и он генерируется где-то еще.Как я могу изменить прототип объекта foo?

Моя мотивация заключается в установке соответствующих прототипов для объектов, сериализованных из литералов .NET в JavaScript.

Предположим, что я написал следующий JavaScriptкод на странице ASP.NET.

var foo = <%=MyData %>;

Предположим, что MyData является результатом вызова .NET JavaScriptSerializer для объекта Dictionary<string,string>.

Во время выполненияэто становится следующим:

var foo = [{"A":"1","B":"2"},{"X":"7","Y":"8"}];

Как видите, foo становится массивом объектов.Я хотел бы иметь возможность инициализировать foo с соответствующим прототипом.Я не хочу изменить Object.prototype или Array.prototype.Как я могу это сделать?

Ответы [ 11 ]

0 голосов
/ 10 августа 2011
foo.prototype.myFunction = function(){alert("me");}
...