Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: parseInt и eval - какая принципиалньая разница?  (Прочитано 9462 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Razor
Помогающий

ru
Offline Offline
Пол: Мужской

« : 26-11-2006 17:19 » 

В статьях написанно в примерах JavaScripta.
в одной статье переводят строку в число с помощью функции eval
в другой с помощью функции parseInt
parseInt мне подсказывает интуиция кокраз для этого подходит. а тогда где использовать eval?

Еще прочел про parseInt

"ParseInt (string [, radix])
string - строка, которая представляет значение, которое вы хотите анализировать.
radix - целое число, которое представляет основание системы счисления возвращаемого значения."

но у меня radix - получается не овнование системы счисления возвращаемого значения, а основания системы счисления вводимого значения. т.е. получается так что если ParseInt(string, 2) то число нужно вводить в двоичной системе счисления...вродебы, или иногда ошибки ввода выдает (
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 26-11-2006 19:39 » 

radix - целое число, которое представляет основание системы счисления возвращаемого значения."
Видимо автор опечатался.

eval - исполняет код из параметра-строки.

eval('aaa = 10;');
alert(aaa);

IMHO, для JavaScript - вещь бесполезная.
« Последнее редактирование: 13-12-2007 18:51 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Razor
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 26-11-2006 20:28 » 

RXL, уточнение сделаю чтоб увереным быть правильным ли я тебя понял.
например
eval('a=10+1;');
alert(a);
будет 11 ? )
если до,то 11 -это будет строка, а не число?
а насчет бесполезности - всеже ее встроили в язык, значит кому-то это нужно . может есть какаят-о узкоспециализированная задача (о которой мы возможно не догадываемся) )
« Последнее редактирование: 13-12-2007 18:51 от Алексей1153++ » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 26-11-2006 21:05 » 

Razor, еще раз на примере:

a = 'xxx';
str = 'a=10+1;';
alert(a); // выводит 'xxx'
str = eval(str);
alert(a); // выводит '11'

Понятие строки и числа в скриптовых языках очень условное и завсит от контекста.

Задача eval() очень проста: выполнить код, созданный "налету".
« Последнее редактирование: 13-12-2007 18:52 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Razor
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 26-11-2006 21:45 » 

RXL, Спасибо. Вопросов больше нету. тему можно закрыть (если так принято тут) )
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines