Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поясните код 
V
    Опции темы
Gold Dragon
Дата 23.9.2011, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



есть вот такой код
Код

$('a.item').bind('mouseout', function( event ) {
    lfnid = 1 * $(this).attr('var');
    lfactive = false;
    return false;
});

Зачем идёт умножение на единицу? В var хранятся цифры. Я так понимаю это своеобразное преобразование в цифры?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ayax2005
Дата 23.9.2011, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



Правильно понимаете.


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
Gold Dragon
Дата 23.9.2011, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



ну тогда вопрос закрыт smile

Добавлено через 30 секунд
а другого способа нет? или этот самый оптимальный?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ayax2005
Дата 23.9.2011, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



это вообще не способ, а ###кодинг. Нужно использовать функци parseInt()


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
Gold Dragon
Дата 23.9.2011, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



т.е. так нужно?
Код

lfnid = parseInt($(this).attr('var'), 10);


вот это уже лучше и понятнее smile спасибо..

Это сообщение отредактировал(а) Gold Dragon - 23.9.2011, 10:55


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ayax2005
Дата 23.9.2011, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



конечно, потому что в случае строкового значения может получиться довольно неприятная штука рпи умножении)


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
SelenIT
Дата 23.9.2011, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 7
Всего: 401



Цитата(ayax2005 @  23.9.2011,  11:16 Найти цитируемый пост)
потому что в случае строкового значения может получиться довольно неприятная штука рпи умножении)

Пардон, а в чем именно разница? Если строка негодная, то, вроде, что так, что этак — в результате NaN. А с умножением писать меньше (а если я правильно понимаю спеку — то и считать машине тоже)...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Amphiluke
Дата 23.9.2011, 20:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Цитата(SelenIT @  23.9.2011,  23:48 Найти цитируемый пост)
А с умножением писать меньше

Есть и еще более краткое преобразование, чем умножение на 1 — использовать унарный плюс.
Код

lfnid = +$(this).attr('var');

PM   Вверх
Evghenusi
Дата 24.9.2011, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



http://codepad.org/QCZr7KaW
аааачуметь  smile (решил проверить и ......)

Добавлено через 49 секунд
я думал на такое только JS способен... smile 
PM WWW   Вверх
Gold Dragon
Дата 24.9.2011, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



я сделал 0+... и вылетела ошибка


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Evghenusi
Дата 24.9.2011, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



Gold Dragon, посдрафляю
PM WWW   Вверх
SelenIT
Дата 24.9.2011, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 7
Всего: 401



Прикола ради попробовал прогнать тест. В FF 6.0.2 (Win 7 Pro x64) все три варианта примерно одинаковы по скорости (parseInt чуть-чуть быстрее, но в пределах погрешности), в IE9 (там же) быстрее всех умножение на 1 (почти вдвое). Чуть позже проверю на др. браузерах smile


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Evghenusi
Дата 25.9.2011, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



Цитата(SelenIT @  24.9.2011,  22:52 Найти цитируемый пост)
Прикола ради попробовал
 вдруг заинтересует http://jsperf.com/parse. (поправьте если не правильно тестю)
PM WWW   Вверх
SelenIT
Дата 26.9.2011, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 7
Всего: 401



Результаты на Win 7 32bit:
Код

            FF7b                  IE9                  Opera 11.50          Chrome 14            Safari 5.0.4

parseInt    9,054,246 ±0.26%      6,658,738±0.84%      4,406,561±0.41%      40,855,888±0.97%     2,270,728±1.07%
            fastest               41% slower           31% slower           fastest
+           7,039,097 ±3.71%      11,234,246±0.86%     6,386,476±0.37%      15,200,210±1.19%     2,156,533±0.45%
            22% slower            fastest              fastest              63% slower
-           7,028,310 ±4.17%      9,896,399±0.56%      5,062,331±0.38%      14,691,198±2.03%     2,208,745±0.55%
            22% slower            12% slower           21% slower           64% slower
1*          6,449,774 ±4.15%      11,150,280±0.71%     4,279,307±1.36%      14,249,240±0.94%     2,160,782±0.26%
            29% slower            fastest              33% slower           65% slower


Получается, parseInt мечется из крайности в крайность (от самого быстрого в FF и неправдоподобно быстрого в Хроме до самого медленного в IE и Опере), а унарный плюс прилично выглядит везде (если не первый, то хотя бы второй). Но разница в абсолютных цифрах между Хромом и Сафарями впечатляет...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Gold Dragon
Дата 26.9.2011, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



и получается что 1* в среднем быстрее всего работает smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1084 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.