1

Я в яваскрипта массив:ассоциативного массива Internet Explorer 8/9

obj[name][uid] = 10 
obj[name][blub] = 12 

Когда я проверяю в современных браузерах для

if(obj[name] == undefined){ 
...do stuff 
} else ... 

он прекрасно работает.

Но в IE 8 и 9 он не работает. Как я могу проверить IE 8/9, если этот массив был создан?

Спасибо, Фальк

+1

Пожалуйста, определите, что «не работает». Что вы ожидаете от своего кода, и что он делает? Также было бы неплохо узнать значения переменных 'name',' uid' и 'blub' и как и где вы определили эти переменные. – Teemu

+1

«Этот вопрос показывает исследовательские усилия, он полезен и __clear__». В самом деле??? – Teemu

+0

Я не понимаю, что вы имеете в виду Теему. Для меня было ясно, что я должен был последовать за Дживингом. – Falk

ответ

2

Я не уверен, ошибка в IE вы описываете, но делает ваши проверки типов явно будет хорошим началом:

if (typeof obj[name] === 'undefined') { 
    // do stuff 
} 

Оператор typeof гарантируется для возврата строки, представляющей тип объекта, тогда как проверка типа потенциально неоднозначна.

Смежные вопросы