Показать сообщение отдельно
  #9 (permalink)  
Старый 12.06.2016, 20:50
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

если выражение укладывается в синтаксис javascript, то можно использовать with

with ({x: 1, y: 2}) {
  with(Math) {
    alert(eval('pow(y, x + 3) + sin(PI / 2)'));
  }
}


здесь использованы переменные, функции из Math и константа PI оттуда же.

Однако eval считается плохой практикой (с чем я согласен), да и with вроде как тоже.

Потому всё это дело можно переписать через new Function, используя для нее набор переменных, чтобы прокинуть функции и переменные.
Ответить с цитированием