Перейти к содержимому



Опасно ли применять eval() на калькуляторе сайта?

#1 re-search
re-search
  • Пользователь
  • 111 сообщений
  • Репутация: 1
0

Отправлено 25 Июнь 2019 - 09:32

Я сделал свой первый калькулятор, применяя javascript, - https://elektro-spb....-elektroenergi/

Где-то читал, что применять функцию eval - моветон. Так ли это? И если так - чем заменить ввод данных формы с eval?


 

 

Сообщение отредактировал re-search: 25 Июнь 2019 - 09:32

  • 0

#2 web-coder
web-coder
  • Пользователь
  • 118 сообщений
  • Репутация: 19

Отправлено 26 Июнь 2019 - 20:50

Не понимаю, зачем вам eval?

Из формы от пользователя вы же принимаете конкретные параметры, а не логику для расчетов...

Подробнее о функции можете почитать здесь https://learn.javascript.ru/eval


  • 1

#3 re-search
re-search
    Topic Starter
  • Пользователь
  • 111 сообщений
  • Репутация: 1

Отправлено 27 Июнь 2019 - 11:01

Это мои первые шаги в джаваскрипте.

Вот, я нашел возможность заменить

var cf = eval(calcform.f.value);   //Ввод кос фи
на
var cf=document.calcform.f.value;
И эта возможность работает.
Так хорошо?

  • 0

#4 web-coder
web-coder
  • Пользователь
  • 118 сообщений
  • Репутация: 19

Отправлено 27 Июнь 2019 - 15:05

Есть несколько способов, чтобы обратиться к элементу на странице.

Например по id (через getElementById).

К тому же у вас подключена библиотека jquery, которая открывает еще много возможностей для выборки.


  • 0

#5 re-search
re-search
    Topic Starter
  • Пользователь
  • 111 сообщений
  • Репутация: 1

Отправлено 27 Июнь 2019 - 16:25

@web-coder, а тот способ, который я применил - годный? 


  • 0

#6 web-coder
web-coder
  • Пользователь
  • 118 сообщений
  • Репутация: 19

Отправлено 27 Июнь 2019 - 16:30

@re-search, если работает, значит годный.

Но лично я такой способ не использую.


  • 0

#7 re-search
re-search
    Topic Starter
  • Пользователь
  • 111 сообщений
  • Репутация: 1

Отправлено 27 Июнь 2019 - 17:03

Я хотел бы оценку. Он чем-то хорош или чем-то плох? Или такой же как и другие. Лучше, чем eval. Получить элемент по идентификатору - лучше его?


Сообщение отредактировал re-search: 27 Июнь 2019 - 17:05

  • 0

#8 web-coder
web-coder
  • Пользователь
  • 118 сообщений
  • Репутация: 19

Отправлено 27 Июнь 2019 - 17:28

Однозначно, лучше чем eval. В вашем случае (для работы с формой) можете использовать и его.

getElementById - более универсальный подход. Таким способом можно получить доступ к любому элементу на странице, для которого задан id.


  • 1

#9 re-search
re-search
    Topic Starter
  • Пользователь
  • 111 сообщений
  • Репутация: 1

Отправлено 01 Август 2019 - 08:51

@web-coder, я пока все eval заменил на =document.*form.*.value. Только при считывании положения переключателя radio применил if (document.getElementById("*").checked){*=*};


  • 0

robot
robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
NataliaAntalia NataliaAntalia 1-й за Октябрь
Очков активности: 480 2 темы, 58 сообщений, 5 баллов репутации
Сайт: zdorovemedicina.ru
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 297 0 тем, 18 сообщений, 11 баллов репутации

  • Фотография BLIK
    #2

    BLIK
    Очков активности: 157.5 0 тем, 15 сообщений, 7 баллов репутации

  • Фотография NataliaAntalia
    #3

    NataliaAntalia (zdorovemedicina.ru)
    Очков активности: 132 Вне конкурса за определение пользователя месяца

  • Фотография Megoydagi
    #4

    Megoydagi (24ho.ru)
    Очков активности: 130.5 5 тем, 14 сообщений, 3 балла репутации

  • Фотография Vmir
    #5

    Vmir
    Очков активности: 126 2 темы, 15 сообщений, 4 балла репутации

  • Фотография Totti
    #6

    Totti
    Очков активности: 117 0 тем, 13 сообщений, 6 баллов репутации

  • Фотография MattCutts
    #7

    MattCutts (dmitrylee.ru)
    Очков активности: 49.5 Вне конкурса за определение пользователя месяца

  • Фотография miketomlin
    #8

    miketomlin
    Очков активности: 45 0 тем, 10 сообщений, 3 балла репутации

  • Фотография TimurR
    #9

    TimurR
    Очков активности: 39 3 темы, 4 сообщения, 2 балла репутации

  • Фотография kolver
    #10

    kolver
    Очков активности: 21 3 темы, 5 сообщений, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 29.10.2019
  • Яндекс выдача: 14.11.2019
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru