
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.01.2013, 19:35
|
|||
|---|---|---|---|
has own property & typeof |
|||
|
#18+
Скажите, люди добрые есть ли смысл в проверке дополнительной? Подход #1 Код: javascript 1. 2. 3. 4. 5. 6. Подход #2 Код: javascript 1. 2. 3. 4. 5. 6. Безопасно ли всегда использовать такой подход? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2013, 19:37
|
|||
|---|---|---|---|
has own property & typeof |
|||
|
#18+
Скажите, люди добрые есть ли смысл в проверке дополнительной? Подход #1 Код: javascript 1. 2. 3. 4. 5. 6. Подход #2 Код: javascript 1. 2. 3. 4. 5. 6. Безопасно ли всегда использовать такой подход? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2013, 21:27
|
|||
|---|---|---|---|
|
|||
has own property & typeof |
|||
|
#18+
hasOwnProperty проверяет, есть ли свойство непосредственно в самом объекте (не заглядывая в прототип). так что в #1 и #2 - разная логика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2013, 07:24
|
|||
|---|---|---|---|
has own property & typeof |
|||
|
#18+
Яростный Меч, ну вот здесь data это аргумент callback функции в ajax запросе: Код: javascript 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2013, 13:47
|
|||
|---|---|---|---|
has own property & typeof |
|||
|
#18+
Нет, смысла двойной проверки нет. Что до первой строки, то $.isArray(obj), то код ее в jQuery следующий: Код: javascript 1. то есть проверяется, не переопределен ли Array и равен ли тип объекта массиву. Так как подразумевается, что объект может быть или только объект (массив, другой объект или null) или undefined, то в любом случае будет сравнение типов и true будет только когда он будет массивом. Со второй строкой тем более: если data.users == undefined, то будет и так false, равно как и при любом другом типе. Поэтому смысла делать проверку на наличие свойства в объекте. Однако тут присутствует другой момент: в итоге и первая, и вторая строка используют функцию typeof, которая в JavaScript считается одной из самых "прожорливых" и медленных, а так как операции усливия в JavaScript лево-ассоциативны, то если не будет выполнена проверка первого условия - простой функции .hasOwnProperty(), то не будет затронута функция typeof(). Поэтому идеологически такая двойная проверка верна. Поэтому верны оба варианта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=22&mobile=1&tid=1448841]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 451ms |

| 0 / 0 |
