Поиск…


Вступление

В JavaScript функция eval оценивает строку, как если бы это был код JavaScript. Возвращаемое значение является результатом оцениваемой строки, например, eval('2 + 2') возвращает 4 .

eval доступен в глобальном масштабе. Лексическая область оценки - это локальная область действия, если она не косвенно вызвана (например, var geval = eval; geval(s); ).

Использование eval сильно обескуражено. Подробнее см. В разделе «Примечания».

Синтаксис

  • Eval (строка);

параметры

параметр подробности
строка JavaScript для оценки.

замечания

Использование eval сильно обескуражено; во многих сценариях он представляет собой уязвимость безопасности.

eval () - опасная функция, которая выполняет код, который передается с привилегиями вызывающего. Если вы запустите eval () со строкой, на которую может повлиять злонамеренная сторона, вы можете запустить вредоносный код на компьютере пользователя с разрешениями вашей веб-страницы / расширения. Что еще более важно, сторонний код может видеть область, в которой был вызван eval (), что может привести к возможным атакам таким образом, чтобы подобная функция не была восприимчивой.

Справочник по JavaScript MDN

Дополнительно:

Вступление

Вы всегда можете запускать 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 сильно обескуражено. Подробнее см. В разделе «Примечания».



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow