i am not asking if the variable is undefined or if it is null.i want to check if the variable exist or not. is this possible?
Join them; it only takes a minute:
|
The But if you try to use a variable that hasn't been declared in an if condition (or on the right-hand side of an assignment) you get an error. So this should work:
|
|||||||||||||
|
Keep in mind with this way, even if you declared a variable with |
|||||||||||||
|
I use this function:
Hope this helps. |
|||||
|
When you try to access a variable which is not declared in the context, you will see that the error message says it is undefined. This is the real check you may perform to see if the variable if defined or not than null check. |
|||
|
If you don't need to know at runtime use JSLint. Also remember that javascript var statements are hoisted, so even if the var is inside an if block it will still be defined. Honestly I think if you are not sure if a variable is defined you are doing something wrong and should refactor your code. |
|||
|
try this
where working example: http://jsfiddle.net/wcqLz/ |
|||
|
I think it depends on what you want to do with the variable. Let's say, for example, you have a JS library that will call a function if it has been defined and if not, then not. You probably know already that functions are first level objects in JS and are as such variables. You could be tempted to ask first if it exists, and then call it. But you can just as well wrap the attempt at calling it in a try/catch block. Example of code that calls a function, if defined, before and after firing an event:
So instead of checking for the variable, catch the error instead:
Whether this is a good thing or not in terms of performance, etc., depends on what you're doing... |
|||
|
What you're after is:
A safer approach might even be:
Depends on your calling context though... |
|||||
|