Я работаю в основном с javascript, JQuery, нокаутом и т.д.
То, что привлекло меня eval(), - это
var a = 5;
var b = 10;
eval("a+b");
//Gives me output 15
Примечание. Я работаю в случаях, когда значение a
и b
изменяется динамически
В моей работе я имею дело с большим количеством динамических объектов от json, нокаутом и т.д. Таким образом, eval решает большинство моих проблем. Но, как я читал, я обнаружил, что существует так много проблем с eval(), как замедление и т.д.
Я много искал и не нашел никакой замены для eval(), когда мне нужно оценить получение уравнения как строку в качестве объекта как объекта.
Может ли кто-нибудь предложить плагин или функцию, альтернативную eval(), имея в виду пример, приведенный выше
Проблема:
Я создаю таблицу из данных Json, используя отображение нокаутов. Итак, когда создается формат json, это таблица. Я также вычисляю какое-то поле с использованием вычисленного нокаута. Прямо сейчас я использую жестко закодированные
self.Salary = ko.computed(function(){ return self.salaryEqn() && eval(self.salaryEqn()).toFixed(2); })
self.salaryEqn(salEqnTxt);
Я хочу выполнить эти уравнения динамически. Я могу создать его динамически как строку, но для того, чтобы оценить их, я столкнулся с проблемой.
Я хочу решение для
Есть ли способ вычислить формулу, хранящуюся в строке в JavaScript, без использования eval?
Как и формула
"self.Salary = ko.computed(function(){ return self.salaryEqn() && eval(self.salaryEqn()).toFixed(2); })"