Поиск…
Вступление
В JavaScript функция eval
оценивает строку, как если бы это был код JavaScript. Возвращаемое значение является результатом оцениваемой строки, например, eval('2 + 2')
возвращает 4
.
eval
доступен в глобальном масштабе. Лексическая область оценки - это локальная область действия, если она не косвенно вызвана (например, var geval = eval; geval(s);
).
Использование eval
сильно обескуражено. Подробнее см. В разделе «Примечания».
Синтаксис
- Eval (строка);
параметры
параметр | подробности |
---|---|
строка | JavaScript для оценки. |
замечания
Использование eval
сильно обескуражено; во многих сценариях он представляет собой уязвимость безопасности.
eval () - опасная функция, которая выполняет код, который передается с привилегиями вызывающего. Если вы запустите eval () со строкой, на которую может повлиять злонамеренная сторона, вы можете запустить вредоносный код на компьютере пользователя с разрешениями вашей веб-страницы / расширения. Что еще более важно, сторонний код может видеть область, в которой был вызван eval (), что может привести к возможным атакам таким образом, чтобы подобная функция не была восприимчивой.
Дополнительно:
Вступление
Вы всегда можете запускать JavaScript изнутри самого себя, хотя это сильно не рекомендуется из-за уязвимостей безопасности, которые он представляет (подробнее см. Примечания).
Чтобы запустить JavaScript изнутри JavaScript, просто используйте следующую функцию:
eval("var a = 'Hello, World!'");
Оценка и математика
Вы можете установить переменную на что-то с помощью функции eval()
, используя что-то похожее на код ниже:
var x = 10;
var y = 20;
var a = eval("x * y") + "<br>";
var b = eval("2 + 2") + "<br>";
var c = eval("x + 17") + "<br>";
var res = a + b + c;
Результатом, сохраненным в переменной res
, будет:
200
4
27
Использование eval
сильно обескуражено. Подробнее см. В разделе «Примечания».
Оценить строку операторов JavaScript
var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";
console.log("z is ", eval(str));
Использование eval
сильно обескуражено. Подробнее см. В разделе «Примечания».