Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: JavaScript проверка данных
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
JustUserR
Отправлено: 05 Сентября, 2010 - 13:30:40
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
kochan10 пишет:
Как проверить, что содержится в переменной? там может быть либо текст, либо число (float).
Язык JS позволяет использовать нестрогую типизацию переменных с автоматически преобразованием данных в выражениях которые требуют операнд нужного типа - по этой причине строка может содержать информацию которая однозначно представима в виде числа - и также встроенный числовой типа данных не обеспечивает дифференциацию целых и дробных чисел что требуется по исходной задаче
В силу указанных причин проверку типа данных в переменной можно осуществить таким образом - с испоьзование оператора идентичности для предотвращения автоматического преобразования типов
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
kochan10
Отправлено: 05 Сентября, 2010 - 18:25:04
Гость
Покинул форум
Сообщений всего: 118
Дата рег-ции: Дек. 2009
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
kochan10 пишет:
Благодарю, мне как раз флоат нуно было проверить
На здоровье! В языках прогаммирования с нестрогой типизацией переменных и исходных константных значениях как правило всегда имеются собственные схемы для четкого определения информации по некоторому значению - это достигается в операционном подходе путем применения явных функций конвертации и сравнения по идентичности Дело в том что при использовнии других методов можно и не получить требуемого результата - в частности встроенные основные константные JS-типы автоматически преобразуются в соответствующий object при обращении к объектом виде
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
kochan10
Отправлено: 06 Сентября, 2010 - 20:43:56
Гость
Покинул форум
Сообщений всего: 118
Дата рег-ции: Дек. 2009
Помог: 0 раз(а)
Я пробовал проверять тип, после parsefloat, но было всёравно number. там хоть NaN было, но это он считал number'ом. пробовал сравнивать, равно ли это NaN, он говорил, что не равно
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
kochan10 пишет:
Я пробовал проверять тип, после parsefloat, но было всёравно number. там хоть NaN было, но это он считал number'ом. пробовал сравнивать, равно ли это NaN, он говорил, что не равно
В языке JS все числовые значения являющиеся как целыми так и содержащими плавающую точку представлены в общей группе - а именно константные выражения и базвые типы данных и объектные конструкторы для них неразличины Тем не менее используемый вами метод также можно применить после опредленной модификации - в частности константа NaN не равна самой себе и для сравнения используется специальная функция isNaN - это также характерно для всех языков программирования с аналогичной грамматикой
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
kochan10
Отправлено: 07 Сентября, 2010 - 17:25:40
Гость
Покинул форум
Сообщений всего: 118
Дата рег-ции: Дек. 2009
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
kochan10 пишет:
Понятно, почему у меня не получалось)) спасибо=)
Пожалуйста! Дополнительную информации об имеющихся в JS-скриптах встроенных базовых объектах и их взаимодействии и операциях объектного приведения значений вы можете посмотреть здесь http://wdh[dot]suncloud[dot]ru/js08[dot]htm - в частности в JS имеется еще одно автоматическое преобразование которое конвертирует статические константны в объекты внутри выржений Например любая строковая или числовая константа не является объектом и к ней невозможно применять операцию получения свойства или вызова метода - тем не менее в реальном JS-коде дейтсвие типа "mystring".length выполняется - это происходит благодаря тому что при использовании объектной нотации тип такого выражения автомтически преобразуется из string в object со String-конструктором по умолчанию
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.