Пробегался по диагонали по:
stackoverflow.com/questions/135448/how-do-i-check-... но остался неясным вопрос.
Есть несколько способов проверить что в объекте var item = { foo: 'bar' } нету ключа x:
if (!item.x)
if (!item['x'])
if (typeof item['x'] === 'undefined')
if (!('x' in item)) // кошерно
if (!item.hasOwnProperty('x')) // кошерно (плюс исключает наследуемые x)
А что не так с первыми двумя. Есть браузеры которые сгенерируют нотис, либо же это может возвратить что-то неожиданное, и что это за возможные сюрпризы?