Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between undefined and window.undefined in JavaScript?

If a is undefined, this works:

if(window.a) {}

while this throws an error:

if(a)

Can someone explain why?

like image 924
Andreas Köberle Avatar asked Mar 30 '10 08:03

Andreas Köberle


1 Answers

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.

like image 51
viam0Zah Avatar answered Sep 18 '22 01:09

viam0Zah