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

Yas*_*sai 6 javascript jquery

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

在此输入图像描述

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

编辑:

在此输入图像描述

if(jQuery)也给我带来了问题

编辑:

方案:

if(window.jQuery)作品. typeof(jQuery) == 'undefined'也有效.

谁有人解释为什么?

小智 9

有几种解决方案:

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

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

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

  4. 抓住了ReferenceError.老实说,我从来没有见过这个也不推荐它,但它会起作用.

快乐的编码.


Ari*_*lam 5

过程1:

if (jQuery) {  
    // jQuery is loaded  
} else {
    // jQuery is not loaded
}
Run Code Online (Sandbox Code Playgroud)

过程2:

if (typeof jQuery == 'undefined') {  
    // jQuery is not loaded  
} else {
    // jQuery is loaded
}
Run Code Online (Sandbox Code Playgroud)