У меня есть сценарий приложения, который работает правильно, но у меня есть несколько операторов eval(), чтобы заставить все работать. Я не понимаю, почему «eval is evil», поскольку я продолжаю читать, но я действительно не понимаю, как избежать использования, когда это единственное, что делает то, что мне нужно.Вопрос об eval() в javascript ... почему это зло и как я могу выполнить одно и то же, не используя его?
В моем сценарии у меня есть куча продуктов. Каждый продукт имеет свой собственный массив свойств. Также имеется массив всех имен массивов. Когда я запускаю различные функции, эти массивы используются для создания содержимого страницы. Единственный метод, который я нашел, что работы были сделать это:
var schedule = {};
$.each(productNameArray, function (i, name) {
schedule = eval(name);
// DO STUFF
});
Просто используя имя передает строку и не читает фактический массив он предназначается для ссылки. Eval заставляет его работать как объект.
Итак, как сделать это без использования Eval()?
Вы могли бы написать пример для содержимого «name» –