Лучше всего сделать это так:
if (typeof something === "undefined") alert("something undefined");
, где всесто something может быть не только переменная, а и свойство (например, something.prop).
Важно понимать. В JavaScript null является объектом. Для других переменных, которые не заданы, есть undefined. DOM возвращает null почти во всех случаях, когда не может найти какую-то структуру в документе, а undefined — это значение переменной, которая не определена.
Во-вторых, нет прямого соответствия между ними. Если Вы знаете, что переменная существует, и хотите проверить, является ли она null, сделайте так:
if (null === yourvar) // (Надо знать, что переменная объявлена!)
Чтобы проверить, задана ли переменная, сделайте так:
if (typeof yourvar != ''undefined'') // Любая область if (window[''varname''] != undefined) // Глобальная область видимости if (window[''varname''] != void 0) // Для старых браузеров
Если Вы знаете, что переменная была объявлена (через var), но хотите проверить, присвоено ли ей значение, сделайте так:
if (undefined != yourvar) // (Надо знать, что переменная объявлена!) if (void 0 != yourvar) // для старых браузеров
Если Вы хотите проверить, что у какого-то объекта присутствует свойство, независимо от того, было ли оно задано или нет:
if (''membername'' in objectname) // С наследованием if (objectname.hasOwnProperty(''membername'')) // Без наследования
Проверить, вернёт ли переменная true:
if(variablename)
З.Ы.
var TestVar = null; alert(TestVar); // покажет null alert(typeof TestVar); // покажет object