LINUX.ORG.RU

Это может быть приведение к числу или какой-нибудь элемент разметки из asm.js

amomymous ★★★
()
Ответ на: комментарий от Jaberwock

Какой нахрен асмжс )) Это строчка кода из большого куска говнолепёхи на сайте.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от Jaberwock

Это автоинкрементный айдишник объекта из БД полученный аяксом ))

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

ну ты же сам все понимаешь. Смысл твоего треда в том, что ты умный а кругом быдлокодерье? За этим ты тему создал? Или магию какуюто ищешь? 99% кода на js написанно энтерпрайзным быдлом, поэтому концентрация говнокода в нем зашкаливает. На JS вообще нормальный код — это исключение из правил.

gbb
()
Ответ на: комментарий от Deleted

Ну а вдруг в этом месте писали другие руки, которые прямые, и в этом был какой-то умысел.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от gbb

Я понимаю с уровня своих пониманий. Такой конструкции не видел ни разу. Тред создал с мыслью «а вдруг это и вправду было зачем-то нужно».

deep-purple ★★★★★
() автор топика

А всяких NaN там не может случиться?

вряд ли. если придет нечисловая строка, то +"foo" даст NaN, затем при сравнении NaN == 0 вернется false.

gbb
()
Ответ на: комментарий от gbb

Так там значит и на бекенде касяк, что в значении св-ва объекта приходит строка, а не целое. Или это нормальное явление?

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

А ну да, вот этот кондишн еще отработает +"" == 0//true, может это имелось в виду:)

gbb
()
Ответ на: комментарий от deep-purple

хз что там за логика, об этом только гадать остается. Вообще в JS числовые id дом-элементов, это дурной тон и низзя. Там не должно быть чито чисел наоборот, и даже идентификаторов начинающихся с чисел. Но что это вундеркиндн там наворочял, одному ему ведомо.

gbb
()
Ответ на: комментарий от deep-purple

Я думаю, тебе надо найти кусок, отвечающий за генерацию идентификаторов, и посмотреть возможные варианты, а затем переписать этот код со строгим сравнением, чтобы голову не забивать.

gbb
()
Ответ на: комментарий от gbb

Вообще в JS числовые id дом-элементов, это дурной тон и низзя.

Неосиляторы всех достали, потому Вотвагиев разрешил.

The value must be unique amongst all the IDs in the element's home subtree and must contain at least one character. The value must not contain any space characters.

There are no other restrictions on what form an ID can take; in particular, IDs can consist of just digits, start with a digit, start with an underscore, consist of just punctuation, etc.

anonymous
()
Ответ на: комментарий от anonymous

Что он разрешил? Это бред сивой коблы. Никто не говорит, что это техически сделать нельзя. Но по идентификаторам dom-элементы доступны как переменные, и т не сможешь обратится к ним как к переменным из JS, вот и все. Возможно и другие баги всплывут. Мартышкам закон не писан, можно все что угодно. Можно, например, использовать один и тот же id для разных элементов на странице, только какой это тогда нахрен идентификатор.

theKingOfTheLor
()
Ответ на: комментарий от anonymous

Кстати, из css обращения к таким идентификаторам тоже не прокатывают. Хз, что там еще может всплыть. Так что оладух твой вотвагиев.

theKingOfTheLor
()
Ответ на: комментарий от theKingOfTheLor

Так как в чем проблема то? Выполняется какой-то код, если id равен нулю. А так как контекста нету, то можно еще долго рассуждать о подводных камнях и для чего этого нужно вообще

Fawkes
()
Ответ на: комментарий от Fawkes

вот такие варианты, к слову, сюда подпадают: «\t», " "

Лучше переписать этот код. Тут нестрогое сравнение неуместно, тем более если полностью реализацию не знаешь.

theKingOfTheLor
()
Ответ на: комментарий от theKingOfTheLor

Ну вот я и говорю - зависит от контекста :) Может там парсится json, в котором всегда есть поле id, но дев решил не парится с вариантами «0» и 0 - вот и запилил каст к инту. Ну или наоборот - обрабатывает кейсы когда id=="". Из куска кода ТС понятно что это делает, но не понятно для чего вообще нужен этот if

Fawkes
()
Ответ на: комментарий от Fawkes

Этот иф нужен для того чтобы показать доп кнопку открывающую попап, в котором дохрена еще всего. Т.е. полюбому переделать надо на строгое сравнение.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от theKingOfTheLor

Стандарт — это бред сивой кобылы? А быть может ты просто ничего не понимаешь в вебе? ☺ Breaking news, приятель, из JS к элементу по id обращаются как document.getElementById('id-here').

anonymous
()
Ответ на: комментарий от anonymous

The value must be unique amongst all the IDs in the element's home subtree and must contain at least one character. The value must not contain any space characters.

#1foo{background: red}

Стандарт

Да, стандарты все такие из себя стандартные, куда уж нам, дуракам

callbackhell
()
Ответ на: комментарий от callbackhell

Дарова, чуваки.

#\000031foo { background: #800; }

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.