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

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

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

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
По умолчанию преобразование типов при сравнении

Код:
trace(0 == "0"); // true
// Это происходит благодаря приведению типов: строки "0" к числу 0.
trace(0 == undefined); // false
// undefined преобразуется в число 0, почему же тогда false?
// Объясните идиоту, пожалуйста.


Последний раз редактировалось dm_nev; 22.06.2005 в 15:04.
Старый 21.06.2005, 12:06
Nео вне форума Посмотреть профиль Отправить личное сообщение для Nео Найти все сообщения от Nео
  № 2  
Ответить с цитированием
Nео
 
Аватар для Nео

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

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

Регистрация: Apr 2001
Адрес: San Pietroburgo
Сообщений: 1,408
читаем хелп

Цитата:
Undefined data type
The undefined data type has one value, undefined, and is automatically assigned to a variable to which a value hasn’t been assigned, either by your code or user interaction.

The value undefined is automatically assigned; unlike null, you don’t assign undefined to a variable or property. You use the undefined data type to check if a variable is set or defined. This data type lets you write code that executes only when the application is running, as shown in the following example:

if (init == undefined) {
trace("initializing app");
init = true;
}

If your application has multiple frames, the code does not execute a second time because the init variable is no longer undefined.
всё понятно? юзай NULL
__________________
I denti non possono dire niente... senza la lingua...
Perche' la tua lingua e' mia!

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

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
Я ориентировался на это
Код:
trace(Number(undefined)); // 0

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Ну мало ли, что trace выводит.
Вот пример:
Код:
f = 1.000000000000001;
trace (f); // 1
trace (f - 1); // 1.11022302462516e-15, а ожидалось мной 0
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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

Регистрация: Apr 2001
Адрес: San Pietroburgo
Сообщений: 1,408
я уже теряю нить этого флейма, но тем не менее:

согласись, что присваивание переменной
Код:
trace(null == 0); // false
и вызов функции возващающей какое-то значение
Код:
trace(Number(null)); // 0
это не одно и тоже. тем более в разрезе trace()
__________________
I denti non possono dire niente... senza la lingua...
Perche' la tua lingua e' mia!

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

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

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
MX
trace(Number(undefined)); // 0

MX 2004
trace(Number(undefined)); // NaN
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
Цитата:
Сообщение от netstuff
согласись, что присваивание переменной
Код:
trace(null == 0); // false
Не хочу прослыть пуристом-недоучкой, но где тут присваивание переменной?
И это не флейм (я очень благодарен тебе и другим людям, что учавствуют в этом треде).
Если долго медитировать можно предположить, что null и undefined разрешаются в NaN при приобразовании в число, так? А как это можно проверить?

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

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

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


 


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


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