Показать сообщение отдельно
  #9 (permalink)  
Старый 12.06.2016, 20:14
Аватар для pureJS
Аспирант
Отправить личное сообщение для pureJS Посмотреть профиль Найти все сообщения от pureJS
 
Регистрация: 04.06.2016
Сообщений: 70

Сообщение от antonizbraniy Посмотреть сообщение
Вы так сказали: "как ты хочешь". Есть другие варианты, как мне выполнять арифметические действия над строкой, без eval? Может более простой? Просто я сейчас подумал над распознаванием и как то не очень хочется...делать для каждого. Это же ужас.

antonizbraniy, мне сложно сказать, но судя по поставленной тобой задаче, только так. Ещё можно, к примеру, не всё выражение из строки брать как у тебя в задаче, а к примеру, число возводимое в степень брать из "input type=text" (1), а его степень из "input type=text" (2) и их проставлять в моё выражение:
eval('Math.pow(' + base+ ', ' + exponent + ')');

где base - это число из "input type=text" (1)
а exponent - это число из "input type=text" (2)

Можно это всё и без eval записать вот так:
var base = document.getElementById('input_1');
var  exponent = document.getElementById('input_2');
var число_в_степени = Math.pow(parseInt(base), parseInt(exponent));

Возможно, что ты это всё так и хотел, но в описании задачи у тебя написано по-другому - обязательно через eval + выражение одной строкой.

Последний раз редактировалось pureJS, 12.06.2016 в 20:17.
Ответить с цитированием