Can someone explain way this work
if(window.a){}
while this is failing
if(a)
In both cases a is undefined.
Can someone explain way this work
if(window.a){}
while this is failing
if(a)
In both cases a is undefined.
undefined is not a true of false affirmation, so you cannot check it using if(undefined).
If you want to check if your variable is defined, you can do this :
if( typeof(yourVariable) != "undefined") {
alert("Variable is defined");
}
window.a
is a property of window
and it's undefined. a
is a variable, and it's undeclared.
To use a variable, you should first declare it using the var
statement. Since you didn't declare a
, the interpreter raises an error. Object properties are not needed to be explicitly declared in order to use them. Crockford writes in The Good Parts:
If you attempt to extract a value from an object, and if the object does not have a member with that name, it returns the undefined value instead.