Показать сообщение отдельно
  #1 (permalink)  
Старый 11.08.2014, 14:50
Новичок на форуме
Отправить личное сообщение для Eugenius Посмотреть профиль Найти все сообщения от Eugenius
 
Регистрация: 11.08.2014
Сообщений: 2

Как воссоздать из строки(файла) с описанием объекта собственно объект с методами
Здравствуйте!

Есть следующая задача - на сервере имеется некий файл, в котором должен быть синтаксически корректный js-код, описывающий некий объект с методами. Название файла не задано заранее, а вычисляется. Мы берём этот содержимое этого файла в виде строки и должны воссоздать из этой строки объект с методами, в точности такой, как описано в файле. Описание объекта (содержимое файла) выглядит примерно так:
{
    method1: function() {
        // что-то делаем
    },
    method2: function(var1, var2) {
        // ещё что-то делаем
    }
}


Файл будет редактироваться в умной IDE, поэтому, как я уже сказал, код должен быть синтаксически корректен. Допустимо сделать в файле вокруг описываемого объекта некое минимальное оформление - точнее, насколько я понимаю, это даже необходимо, потому что на код без обвязки (такой, как приведён выше) IDE вполне логично ругается.

Пока что я пришёл к следующему:
файл выглядит так:
var a = {
    method1: function() {
        // что-то делаем
    },
    method2: function(var1, var2) {
        // ещё что-то делаем
    };
}

return a;

место создания объекта выглядит так:
var newObject = new Function(data).call();

где data - это строка с содержимым файла.

Понятно, что это решение далеко от идеала - обвязка вокруг описания объекта выглядит не очень красиво, да и IDE ругается на return вне функции, но мне в голову больше ничего не приходит, поэтому запрашиваю помощь зала. Может, у кого-нибудь есть идеи?

PS. Если не использовать переменную, а сразу сделать return, то код выглядит чуть красивее, но IDE подчёркивает его весь красным, что очень неудобно.

PPS. Из фреймворков используется jQuery, если это имеет значение.
Ответить с цитированием