|
|
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
Случай, когда переменная неопределена довольно прост Код: plaintext 1. 2. 3. 4. typeof variable == "undefined" но переменная тут объявлена, хоть и не определено её значение и тип. Другая история, когда приходит массив (ajax, например), в котором может не оказаться ключа. Как это грамотно проверить? Методика typeof variable2 == "undefined" создаёт ошибку. Конечно можно использовать try/catch Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2009, 12:22 |
|
||
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
Можно проверять на нулл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2009, 12:25 |
|
||
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
AlexNZДругая история, когда приходит массив (ajax, например), в котором может не оказаться ключа. Как это грамотно проверить? Код: plaintext 1. 2. 3. Если я правильно понял, что нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2009, 12:29 |
|
||
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
Это пройденый этап. Пробовал и на null проверять... Но null это значение, даже тип имеет. ) Ситуация в том, что с ним нечего сравнивать, нет имени переменной до использования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2009, 12:30 |
|
||
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
AlexNZМетодика typeof variable2 == "undefined" создаёт ошибку.Вопрос в том, есть ли глобальная переменная variable2 ? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2009, 12:36 |
|
||
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
Спасибо, Яростный Меч. Методика работает. Рассматривался случай, когда variable2 отсутствует вообще как понятие, т.е. в window тоже нет. Еще раз спасибо. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2009, 12:42 |
|
||
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
Однако и тут есть западня. Прежде чем использовать оператор in нужно убедиться, что имеем дело с объектом. В случае пустого массива, после json, может оказаться что это строка, а оператор in к ней неприменим. Это при том, что в javascript строка тоже объект. : - ) Т.е. проверяем Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2009, 12:55 |
|
||
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
"undefined" - это стринговое значение Проверять надо не на "undefined", а на undefined. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2009, 15:10 |
|
||
|
необъявленная переменная
|
|||
|---|---|---|---|
|
#18+
Уважаемый IDVsbruck, typeof как раз и возвращает строку (именно, как вы выразились, "стринговое значение") Мануальная терапия: typeof returns one of the following strings: number string boolean object function undefined typeof(typeof(x)) is always string, no matter what x actually is. Каждое из значений - строка, потому и сравнивать надо со строкой. RTFM! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2009, 08:28 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=36086675&tid=1454517]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 323ms |

| 0 / 0 |
