javascript: как узнать существует ли объект?

Biglem

такая проблема:
создаю с помощью скрипта на пхп через eval кучу объектов в javascript
потом возникает необходимость узнать существует ли объект с каким-то именем
хотелось бы сделать так:
if (obj_foobar == undefined){baz;}
но это не катит, т.к. если объекта obj_foobar нет (он не создавался даже то это даст ошибку
как ещё можно определить, существует ли объект?

Helga87

Мне известны два способа:
1. Простой, но неверный (т.е. я не уверен, что способ во всех случаях дает верный результат)
if (this["lala"] == undefined) { alert("lala is undefined");}
2. Громоздкий, но верный:
function exists(name)
{
var result = true;
eval("try { result = (" + name + "!=undefined); } catch (e) { result = false; }");
return result;
}
...
alert(exists("lala";

dedwowan

if (!obj_foobar){baz;}

artimon

if (typeof obj_foobar != 'object'){alert('Not an object')}

или
if (typeof obj_foobar == 'undefined'){alert('Not defined')}

Biglem

Всем большое спасибо
просто спасли меня
Оставить комментарий
Имя или ник:
Комментарий: