JavaScript check if variable exists (is defined/initialized)

initializationjavascriptundefinedvariables

Which method of checking if a variable has been initialized is better/correct?
(Assuming the variable could hold anything (string, int, object, function, etc.))

if (elem) { // or !elem

or

if (typeof elem !== 'undefined') {

or

if (elem != null) {

Best Solution

You want the typeof operator. Specifically:

if (typeof variable !== 'undefined') {
    // the variable is defined
}