Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.06.2005, 12:53
netstuff вне форума Посмотреть профиль Отправить личное сообщение для netstuff Найти все сообщения от netstuff
  № 11  
Ответить с цитированием
netstuff
 
Аватар для netstuff

Регистрация: Apr 2001
Адрес: San Pietroburgo
Сообщений: 1,408
Цитата:
Не хочу прослыть пуристом-недоучкой, но где тут присваивание переменной?
прошу прощения, что-то я напутал
__________________
I denti non possono dire niente... senza la lingua...
Perche' la tua lingua e' mia!

Старый 21.06.2005, 12:55
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 12  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитирую Нокса
trace(Number("A") == Number("A")); // false

trace(Number(undefined) == Number.NaN; // false

объяснение простое:

NaN - (по фомату IEEE double) это значение числового типа float double такое что его экспонента равна 2047 а мантисса отлична от нуля. т.е. таких чисел - много. какое именно число получится в качестве NaN в каждом конкретном случае - неизвестно.

из этого вытекает то, что нельзя сравнивать результат операции (значение переменной) с константой Number.NaN чтобы определить является ли этот результат числом или нет. надо пользовать глобальную функцию isNaN, без вариантов.

a = "test";
trace(Number(a) == Number.NaN); // false
trace(isNaN(Number(a))); // true
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 21.06.2005, 13:17
Whatsername вне форума Посмотреть профиль Отправить личное сообщение для Whatsername Найти все сообщения от Whatsername
  № 13  
Ответить с цитированием
Whatsername

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
iNils, сорри за навязчивость, но все равно не могу понять как проверить, что Number(null) это в действительности NaN.
Код:
trace(isNaN(undefined)); // false
trace(isNaN(null)); // false
А ведь если бы undefined и null приводились к числовому типу как NaN, это давало ответ на мой первый вопрос: почему 0 == undefined дает false.

Старый 21.06.2005, 13:21
Nео вне форума Посмотреть профиль Отправить личное сообщение для Nео Найти все сообщения от Nео
  № 14  
Ответить с цитированием
Nео
 
Аватар для Nео

Регистрация: Jun 2005
Адрес: Kharkov
Сообщений: 63
Отправить сообщение для Nео с помощью ICQ
trace(isNaN(Number(undefined))); // true
trace(isNaN(Number(null))); // true
__________________
The matrix has you...

Старый 21.06.2005, 13:23
Whatsername вне форума Посмотреть профиль Отправить личное сообщение для Whatsername Найти все сообщения от Whatsername
  № 15  
Ответить с цитированием
Whatsername

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
Nео, речь идет об AS 1.0 для Flash MX.

Старый 21.06.2005, 13:26
Nео вне форума Посмотреть профиль Отправить личное сообщение для Nео Найти все сообщения от Nео
  № 16  
Ответить с цитированием
Nео
 
Аватар для Nео

Регистрация: Jun 2005
Адрес: Kharkov
Сообщений: 63
Отправить сообщение для Nео с помощью ICQ
сорри... пропустил!
__________________
The matrix has you...

Старый 21.06.2005, 13:27
Whatsername вне форума Посмотреть профиль Отправить личное сообщение для Whatsername Найти все сообщения от Whatsername
  № 17  
Ответить с цитированием
Whatsername

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
// зря удалил только что написанное сообщение.
В AS 1.0 for Flash MX эти операции приводят к false. Вот.

Старый 21.06.2005, 13:30
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 18  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
востановил сообщение
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 21.06.2005, 13:32
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 19  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
undefined неопределенное значение, 0 - определенное, даже конкретное число
поэтому 0 == undefined дает false.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 21.06.2005, 13:37
Whatsername вне форума Посмотреть профиль Отправить личное сообщение для Whatsername Найти все сообщения от Whatsername
  № 20  
Ответить с цитированием
Whatsername

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
Операторы "==" и "!=" перед сравнением преобразуют операнды к одному типу, отдавая предпочтение числовому.
Если undefined преобразуется к NaN, что мы пока не смогли подтвердить - сравниваются 0 и NaN.
Но если undefined преобразуется к 0 (что мы пока только и видели), то сравниваются 0 и 0. Почему результат такого сравнения false - вопрос, мучающий меня почти сутки.

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:27.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.