:: Не фоксом единым
JavaScript можно ли проще
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
Копаясь в коде нашёл такой фрагмент:

var inOrArrVal = JSON.parse($.trim(idField.val()) || '0');
if (inOrArrVal) {
[...]
}

При этом inOrArrVal больше ни где не используется, т.е. он нужен только для проверки.
Если $.trim(idField.val()) равно 0, '0' или null, то условие не выполнится.
Вопрос - можно ли этот код переписать без JSON.parse? Надо ли переписывать его без JSON.parse, или так то же нормально?



Исправлено 1 раз(а). Последнее : S-type, 19.07.18 22:32
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Вот вообще не зная JavaScript (даже склонен, к некоторой нелюбви), из приведенного очевидно, что
Откуда то получается объект (JSON.parse)
Далее проверяется есть он, или нет.

И кто ж вам ответит на ваш вопрос, не видя что там проверяется, откуда получается, и вообще))))

Возможны варианты без JavaScript, если asp.net, просто проверяете во вью какое то поле.
В общем решений, бесконечно много


------------------




Исправлено 1 раз(а). Последнее : Аспид, 20.07.18 08:13
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
JSON.parse не получается, он есть в браузере. msdn.microsoft.com Firefox и Chrome то же о нём знают.
Ведёт он себя так:

[attachment 29716 s1.png]

$.trim(idField.val() возвращает null или '0', '1', '2', '3'...



Исправлено 2 раз(а). Последнее : S-type, 20.07.18 09:06
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Опять же, может ошибаюсь, но...
чем плох
if ($.trim(idField.val() ==null)


------------------
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
Аспид
Вот вообще не зная JavaScript (даже склонен, к некоторой нелюбви),
У меня примерно такое же состояние и отношение к JS.

Аспид
чем плох
Надо ещё на '0' проверить. Что бы два раза не вычислять - нужна переменная.



Исправлено 1 раз(а). Последнее : S-type, 20.07.18 12:00
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Нифига не ясно.
S-type
Надо ещё на '0' проверить. Что бы два раза не вычислять - нужна переменная.
Если по русски, то
if ($.trim(idField.val() ==null || $.trim(idField.val()=='0')
Как то не пойму, в чем проблема.
Или что то не так спрашиваете


------------------
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
pasha_usue

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
Аспид
Если по русски, то
if ($.trim(idField.val() ==null || $.trim(idField.val()=='0')
Как то не пойму, в чем проблема.
Или что то не так спрашиваете
Нихрена. Конструкция с конкатенацией нормально сожрёт и null и NaN и undefined. Возможно JSON.parse используют как универсальный подход? Другой вопрос, что [input].val() не должно возвращать NaN и undefined.

PS. А двойное "==" я бы заменил на тройное "===" (;Ж
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
Аспид
if ($.trim(idField.val() ==null || $.trim(idField.val()=='0')
На сколько понимаю, при таком варианте выражение вычисляется два раза.

И, к тому же, нужно условие "наоборот". Например, так:

var myVal = $.trim(idField.val();
if (myVal!=null && myVal !='0') {
[...]
}

Или, так (с поправкой pasha_usue):

var myVal = $.trim(idField.val();
if (!(myVal===null || myVal==='0')) {
[...]
}


Аспид
Как то не пойму, в чем проблема.
Вопросы были такие:

S-type
Вопрос - можно ли этот код переписать без JSON.parse?

На сколько понимаю, ответ - это код выше. И, да - значение получается из input, потому учитывать NaN и Undefined не нужно.

Ещё был вопрос:
Цитата:
Надо ли переписывать его без JSON.parse, или так то же нормально?

Перефразирую вопрос. Такой вот "финт ушами" (использование JSON.parse) это корректно/нормально? Этого надо избегать, или это надо наоборот - пропагандировать такое использование?
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
if (myVal!=null && myVal !='0') {
Глянул и не понял - почему цвета такие... Потом вспомнил - в одном мёртвом древнем языке программирования && - это комментарий. Как жизнь то меняется.

В этом форуме нельзя что то типа

[code js]

применять?

P.S. исправил, а то закидают.

P.P.S. Понятно, что вопросы по js надо задавать где то на форуме по js.



Исправлено 1 раз(а). Последнее : S-type, 20.07.18 15:15
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Понял. Я думал что то не работает)
Так спросил бы на форуме по JS, там бы точнее все разъяснили.
pasha_usue
вот всегда интересовало, что такое ===
Кто бы рассказал.
А то даже не понятно, как найти (искать) описание)))


------------------
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
Аспид
Так спросил бы на форуме по JS, там бы точнее все разъяснили.
Есть адресок?

Аспид
вот всегда интересовало, что такое ===
Кто бы рассказал.

habr.com
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Ну и ссылочка в тему из той самой статьи, сорри, инглиш, но по-моему и так всё совершенно понятно
www.destroyallsoftware.com


------------------
WBR, Igor




Исправлено 1 раз(а). Последнее : Igor Korolyov, 20.07.18 15:39
Ratings: 0 negative/1 positive
Re: JavaScript можно ли проще
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
То бишь js=== равен fox ==
Igor Korolyov
www.destroyallsoftware.com
Супер!)))


------------------
Ratings: 0 negative/0 positive
Re: JavaScript можно ли проще
S-type
Автор

Сообщений: 2969
Дата регистрации: 24.04.2004
Igor Korolyov
Ну и ссылочка в тему из той самой статьи, сорри, инглиш, но по-моему и так всё совершенно понятно
Т.е. помимо нас есть ещё люди, которым JS не очень то и нравится.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 7 Владимир Максимов Guest (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика