如何检查变量或对象是否未定义?

我一直以为我可以通过比较未定义的var来检查未定义的var,但这是我在chrome控制台中得到的错误:

在此处输入图像描述

如何检查jQuery未定义的对象?

编辑:

在此处输入图像描述

if(jQuery)也给了我一些问题

编辑:

方案:

if(window.jQuery)有效。 typeof(jQuery) == 'undefined'适用。

谁有人解释为什么?

有几种解决方案:

  1. 使用typeof 。 它是一个特殊的运算符,永远不会导致ReferenceError 。 它评估为“未定义”,以及undefined上下文中不存在的变量。 我不是它的粉丝,但它似乎很常见。

  2. 使用window.jQuery 。 这会强制执行“属性查找”:属性查找永远不会失败,如果所述属性不存在则返回undefined 。 我已经看到它在某些框架中使用过。 有假设上下文(通常是window )的缺点。

  3. 确保变量是“声明的”: var jQuery; if (jQuery) { /* yay */ } var jQuery; if (jQuery) { /* yay */ } 。 似乎并不常见,但它完全有效。 请注意, var只是一个注释并被提升。 在全局上下文中,这将创建“jQuery”属性。

  4. 捕获ReferenceError 。 老实说,我从未见过这个,也不推荐它,但它会起作用。

快乐的编码。

过程1:

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

过程2:

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

从这里开始

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

据我所知,你可以做到

 if(typeof X == 'undefined') 

但是您可能需要查看资源加载器。 在我面前给出的答案也是正确的。

您的代码中名为“jQuery”的变量从未被声明过,因此会抛出“xxx(变量名称)未定义”之类的错误。

您可以使用typeof运算符来检查变量是否未定义

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

你可以使用:if(typeof jQuery!==’undefined’)

要么

做mozilla推荐的

if(’jQuery’在窗口中)

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

if(jQuery)应该足够了,不应该吗?