Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   wtf javascript (https://javascript.ru/forum/offtopic/22405-wtf-javascript.html)

x-yuri 19.10.2011 23:45

vflash, использование run приветствуется ;) да и hide если много кода (он же ведь сначала незапускаемым был, правда?)

B~Vladi 19.10.2011 23:47

Цитата:

Сообщение от vflash
кстати

Ну что ещё не понятно?! Массив имеет длину. Length показывает длину. Как видно в случае с join, длинна есть. Только вот значение имеют не все ячейки. Что конкретно тебя смутило в твоем примере?

x-yuri, да я поправил, ибо влом было в консоль копировать.

x-yuri 20.10.2011 01:08

Цитата:

Сообщение от B~Vladi
Ну что ещё не понятно?!

это называется взаимоисключающие параграфы
var m = [23,,,,45];
alert([
  m.indexOf(undefined),
  m.join('+')
]);

monolithed 20.10.2011 08:18

Цитата:

Сообщение от vflash
кстати
alert([,,,,,,,,,,1].join('+'))

alert(Array(10).join('+'));

Цитата:

Сообщение от B~Vladi
А о ActionScript что скажите? Тоже накосячили? Или просто повторили?

Ну этот вопрос нужн задавать на форуме T-39.
К примеру:
alert(typeof null); // object

На первый взгляд тоже не понятно, косяк или так задумано. И даже в ECMAscript 4 такое поведение было объявлено багом и в спецификации ECMA-262-3 тип null-a - Null, однако потом решили оставить на будущее, т.к. null связан только с объектами и ничего иного возвращать не может.

Kolyaj 20.10.2011 11:50

null -- отсутствующая ссылка на объект. Т.е. ссылка должна быть, но её нет. Поэтому логично, что typeof null == 'object'

x-yuri 20.10.2011 15:56

так это, после ecma-262-3 есть какая-то спецификация на которую можно ориентироваться?

vflash 20.10.2011 17:19

Цитата:

Сообщение от x-yuri
так это, после ecma-262-3 есть какая-то спецификация на которую можно ориентироваться?

вот эта http://www.ecma-international.org/pu...s/Ecma-262.htm

есть хорошая презентация по истории js "Александр Мочёнов. JavaScript.next"
http://www.devclub.eu/2011/09/04/sos...vascript-next/


Цитата:

alert(typeof null); // object
по сути у null та же роль что и у undefined. давно бы можно было избавиться от одного из них (от undefined к примеру). реально достало после проверки на тип проверять что это точно объект.

x-yuri 20.10.2011 20:09

Цитата:

Сообщение от vflash
есть хорошая презентация по истории js "Александр Мочёнов. JavaScript.next"
http://www.devclub.eu/2011/09/04/sos...vascript-next/

да, начало, про историю, понравилось :)

Octane 20.10.2011 23:19

Цитата:

Сообщение от vflash
достало после проверки на тип проверять что это точно объект

if (Object(arg) === arg)

отсекает null

vflash 22.10.2011 01:58

typeof x === 'object' && x !== null

работает в четыре раза быстрее чем Object(arg) === arg , и читается лучше. да и другие типы не отсеивает

observer 13.11.2011 05:13

Цитата:

Сообщение от vflash
по сути у null та же роль что и у undefined. давно бы можно было избавиться от одного из них (от undefined к примеру).

Это разные типы данных. Для разных целей. С разным смыслом.

Цитата:

Сообщение от vflash
реально достало после проверки на тип проверять что это точно объект.

См. instanceof.

x-yuri 13.11.2011 06:46

Цитата:

Сообщение от observer
Для разных целей.

для каких таких целей?

observer 13.11.2011 20:08

Цитата:

Сообщение от x-yuri (Сообщение 136146)
для каких таких целей?

Для смысловых целей,
http://stackoverflow.com/questions/8.../802371#802371

x-yuri 14.11.2011 01:44

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


Часовой пояс GMT +3, время: 10:30.