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

start [/forum/topic.php?fid=22&fpage=144&tid=1448841]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 373ms |

| 0 / 0 |
