admin管理员组

文章数量:1194605

I always thought I could just check an undefined var by comparing it to undefined, but this is the error I get in the chrome console :

How how do i check for the object jQuery being undefined ?

EDIT :

if(jQuery) is giving me problems too

EDIT :

solution :

if(window.jQuery) works. typeof(jQuery) == 'undefined' works too.

Could anyone explain why ?

I always thought I could just check an undefined var by comparing it to undefined, but this is the error I get in the chrome console :

How how do i check for the object jQuery being undefined ?

EDIT :

if(jQuery) is giving me problems too

EDIT :

solution :

if(window.jQuery) works. typeof(jQuery) == 'undefined' works too.

Could anyone explain why ?

Share Improve this question edited Dec 16, 2011 at 7:31 YD8877 asked Dec 16, 2011 at 7:23 YD8877YD8877 10.8k20 gold badges69 silver badges97 bronze badges 2
  • [stackoverflow.com/questions/8531059/… [1]: stackoverflow.com/questions/8531059/… – Eric Yin Commented Dec 16, 2011 at 7:40
  • stackoverflow.com/questions/27509/… , stackoverflow.com/questions/8531059/… – user166390 Commented Dec 16, 2011 at 7:49
Add a comment  | 

7 Answers 7

Reset to default 9

There are several solutions:

  1. Use typeof. It is a special operator and will never result in a ReferenceError. It evaluates to "undefined" for, well, the undefined value or for a variable which does not exist in context. I'm not a fan of it, but it seems very common.

  2. Use window.jQuery. This forces a "property lookup": property lookups never fail, and return undefined if said property does not exist. I've seen it used in some frameworks. Has the downside of assuming a context (usually window).

  3. Make sure the variable is "declared": var jQuery; if (jQuery) { /* yay */ }. Doesn't seem very common, but it is entirely valid. Note that var is just an annotation and is hoisted. In the global context this will create the "jQuery" property.

  4. Catch the ReferenceError. Honestly, I have never seen this nor do I recommend it, but it would work.

Happy coding.

Process 1:

if (jQuery) {  
    // jQuery is loaded  
} else {
    // jQuery is not loaded
}

Process 2:

if (typeof jQuery == 'undefined') {  
    // jQuery is not loaded  
} else {
    // jQuery is loaded
}

From here

if(typeof jQuery == "undefined") { 
  document.write("undefined"); 
}else{ 
   document.write("Exists"); 
} 

As far as I know you can do

if(typeof X == 'undefined')

But there are resources loader you might want to take a look at. And the answer given before me is also correct.

The variable called "jQuery" in your code has never been declared, so it will throw an error like "xxx(variable name) is not defined".

You can use the typeof operator to check is a variable is undefined or not

if (typeof(jQuery) == "undefined")

You can use : if( typeof jQuery !== 'undefined')

or

Do what is recommended by mozilla

if('jQuery' in window)

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/undefined

if(jQuery) should be enough, shouldn't it?

本文标签: javascriptHow to check if a variable or object is undefinedStack Overflow