powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Философские вопросы по JS
25 сообщений из 115, страница 3 из 5
Философские вопросы по JS
    #37229416
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже не представляю, зачем нужно дебажить клиентский js какими-то VS. Всё что хочешь можно увидеть в http-снифферах и алертах.

p.s. ие-отладчик такая же тупая быдлоподелка как и сам ie.
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229430
Deaduwka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_stДаже не представляю, зачем нужно дебажить клиентский js какими-то VS. Всё что хочешь можно увидеть в http-снифферах и алертах.


Ну в разрезе сайта с парочкой аяксов, фидбеков - то, конечно незачем, а если это какая-нибудь лютая браузерная система на базе какого-нибудь лютого javascript фреймворка, построенная только яваскриптом, то без дебагга .. живые позавидуют мертвым ;)

st_stp.s. ие-отладчик такая же тупая быдлоподелка как и сам ie.
Это да, это да )
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229478
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeaduwkaЯростный Меч[
Вот только, например, непонятно, что, где и как там дебажится? Неужели построчно исходники Коффе? Или таки приходится возиться с JS? :)



Правда если все работает на никсах, а как правило оно работает на никсах, то тут не скажу. Должен быть какой-то JIT-debugger или чето типа такого..
Да, node только на никсах и работает :)
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229484
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_stДаже не представляю, зачем нужно дебажить клиентский js какими-то VS. Всё что хочешь можно увидеть в http-снифферах и алертах.

p.s. ие-отладчик такая же тупая быдлоподелка как и сам ie.

когда у тебя подключаются сторонние библиотеки, и в одной из них идет динамическая подписка на события - хрен знает где, посреди степи - вот тогда поймешь.
или типы динамически расширяются таким образом, что твой код начинает работать самым загадочным образом.
тогда тебе алерты с хттп сниферами очень помогут
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229563
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_Lamer,

> типы динамически расширяются таким образом, что твой код начинает работать самым загадочным образом


прям каждый день такое происходит :)
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229663
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_stSQL_Lamer,

> типы динамически расширяются таким образом, что твой код начинает работать самым загадочным образом


прям каждый день такое происходит :)
Когда происходит - так уж происходит
У меня бывали очень запущеные случаи.
Когда много клиентского кода - и своего и чужого - то бывает и не такое.
И тогда и ие дебагер - в радость и за щастье
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229900
Deaduwka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_stпрям каждый день такое происходит :)
ну все от задач зависит же... хотя я дебаггер использую практически везде, даже когда пилю быдло-сайты для .. ну вы поняли.
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229911
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_Lamerси шарпом я переболел уже давно(вместе с ооп) А почему вместе с ООП? ООП - не только C# (ещё, например, JS :))
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229912
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сабжу:
В чем смысл факта (NaN != NaN)?
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229914
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> В чем смысл факта (NaN != NaN)?
Мо я что-то неправильно и понимаю, но (выражаясь культурным языком): неизвестность != неизвестности (хз!=хз)

/me вспоминает: инициализируйте переменные
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229918
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft,

Нет, с undefined (и null) все в порядке (неинициализированные переменные равны undefined).
Тут другое.

выражаясь терминологией по ссылке, переделаем в "Буратино дали 'aaa' яблок, отняли 2".
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229921
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> неинициализированные переменные равны undefined
/me думает: тогда: чем неинициализированные переменные отличаются от null (4 example, без привязки к JS (тот же SQL с его троичной логикой))
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229927
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Softчем неинициализированные переменные отличаются от null (4 example, без привязки к JS (тот же SQL с его троичной логикой))Отличаются существенно.

undefined в js равен сам себе.
NULL в sql "не знает", равен ли он себе.
А вот NaN твердо уверен, что не равен себе (NaN !== NaN, так же NaN != NaN).
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229931
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Отличаются существенно.
гм... если при инициализации переменной "мусор" (как в C'ях) - то он, по идее, д.б. "мусром" везде и, отсюда и - undefined!=undefined (сюда же - SQL)
Но...Если сюда подтянуть управляемый код с инициализацией - тогда конечно...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229934
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А вот NaN твердо уверен, что не равен себе (NaN !== NaN, так же NaN != NaN).
проходили ж
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229936
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft проходили ж Это понятно.

Интересует, почему так. Какой скрыт смысл?
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229941
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечSQL_Lamerси шарпом я переболел уже давно(вместе с ооп) А почему вместе с ООП? ООП - не только C# (ещё, например, JS :))
Я неправильно выразился :)
Правильно было-бы сказать: ооп - один из подходов. уже не считаю его лучшим. но пользуюсь конечно.
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37229945
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечEx_Soft проходили ж Это понятно.

Интересует, почему так. Какой скрыт смысл?

Я разделяю как-то так для себя:
undefined - не присвоено значения
null - присвоено пустое значение
NaN - присвоено неопределенное значение
что-то типа...
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37230074
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Какой скрыт смысл?
Вот как Вам еще такое обЪяснение:
NaN (Not-a-Number) - "Нечисло". Т.е. все, что невозможно преобразовать к целому/вещественному. Отсюда:
Код: plaintext
1.
2.
3.
a=зеленый,
b=красный,
с=зеленый;
Все (a, b, c) - NaN. Пытаемся сравнивать:
Код: plaintext
1.
2.
a==b // false
a==c // true
Вроде, все по-честному. Но если
Код: plaintext
1.
2.
3.
a=зеленый,
b=красный,
с=квадратный;
то
Код: plaintext
1.
a==c // ???
мягко выражаясь, не имеет смысла: по каким критериям сравнивать квадратное и зеленое. М.б. вот поэтому, чтобы не заморачиваться с типизацией, и решили: раз уж NaN, то неизвестно, что там в нем и пусть он не будет равен даже другому NaN'у.

> undefined - не присвоено значения
в смысле явно не присвоено значение. Значение, по идее, может быть. Но - какое? ХЗ. "Мусор", выражаясь C'шным языком.

> NaN - присвоено неопределенное значение
скорее - "Присвоено нечисловое значение"
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37230083
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечИнтересует, почему так. Какой скрыт смысл?
Тоже стало интересно. Нашел статью в википедии и обсуждение на stackoverflow . Краткая выдержка:

1) Существует два вида NaN: quiet и signaling. В JavaScript используется quiet NaN, то есть операции с ним не приводят к исключениям. NaN != NaN сделано для того чтобы программист мог заметить ошибку в коде.
2) Данная идея и реализация не является спецификой JavaScript, а введено в стандарте IEEE 754 - IEEE Standard for Floating-Point Arithmetic
WikipediaA comparison with a NaN always returns an unordered result even when comparing with itself. The comparison predicates are either signaling or non-signaling, the signaling versions signal an invalid exception for such comparisons. The equality and inequality predicates are non-signaling so x = x returning false can be used to test if x is a quiet NaN. The other standard comparison predicates all signal if they receive a NaN operand, the standard also provides non-signaling versions of these other predicates. The predicate isNaN(x) determines if a value is a NaN and never signals an exception.
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37230185
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> чтобы не заморачиваться с типизацией
вспомнилось :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
var ss = parseInt('asd');
alert(isNaN(ss)); //true
alert(ss instanceof Date); //false

var dd = new Date('wrong date format');
alert(isNaN(dd)); //true
alert(dd instanceof Date); //true !!!

var s = "str";
var b = (s instanceof String); // b = false

var s = new String("str");
var b = (s instanceof String); // b = true

> NaN != NaN сделано для того чтобы программист мог заметить ошибку в коде.
/me думает: это они поторопились. Топиков а-ля этот - немало.
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37230513
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft
Код: plaintext
1.
2.
3.
4.
5.
var s = "str";
var b = (s instanceof String); // b = false

var s = new String("str");
var b = (s instanceof String); // b = true
Это вообще отдельная тема. :)

Например:
Код: plaintext
1.
2.
3.
var str = 'aaaaa';
str.myProp = 23;
alert(str.myProp); // куда дели myProp??!! :))) (новичок падает в обморок)
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37234560
Deaduwka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>undefined в js равен сам себе.
в js undefined - это зарезервированная константа. Тоесть она "материальна", поэтому и равна сама себе.

>NULL в sql "не знает", равен ли он себе.
с NULL по сути идет сравнение не по значение, а "на существование значения". в t-sql есть даже спец. функция isNULL, или в условиях используется (NOT) field is NULL. Тоесть null - не значение (как undefined в js) а часть конструкции.

>А вот NaN твердо уверен, что не равен себе (NaN !== NaN, так же NaN != NaN).
Забавно еще то, что typeof NaN == Number :)

Насколько я понимаю NaN возвращается в результате "гашения" ошибок внутри базовых яваскрипт-функций. Тоесть если не смогли распарсить число из строки - на тебе NaN, а не ексепшн.
А сравнивать что-то с NaN корректно будет через isNaN...
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37257753
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
function fn() {
  // ...
  setTimeout(fn,  1000 );
  // ...
}

Можно ли это считать рекурсией?
С одной стороны - есть косвенный вызов себя. С другой - нет накопления на стеке.
...
Рейтинг: 0 / 0
Философские вопросы по JS
    #37257765
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч
Код: plaintext
1.
2.
3.
4.
5.
function fn() {
  // ...
  setTimeout(fn,  1000 );
  // ...
}

Можно ли это считать рекурсией?
С одной стороны - есть косвенный вызов себя. С другой - нет накопления на стеке.

нет, нельзя.
"косвенный" вызов - низачет :)
...
Рейтинг: 0 / 0
25 сообщений из 115, страница 3 из 5
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Философские вопросы по JS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]