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

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

if(jQuery)也给我带来了问题
编辑:
方案:
if(window.jQuery)作品.
typeof(jQuery) == 'undefined'也有效.
谁有人解释为什么?
小智 9
有几种解决方案:
使用typeof.它是一个特殊的操作员,永远不会导致ReferenceError.它评估为"未定义",以及undefined值或上下文中不存在的变量.我不是它的粉丝,但它似乎很常见.
使用window.jQuery.这会强制进行"属性查找":属性查找永远不会失败,undefined如果所述属性不存在则返回.我已经看到它在某些框架中使用过.假设上下文(通常window)的缺点.
确保变量"声明":var jQuery; if (jQuery) { /* yay */ }.似乎并不常见,但它完全有效.请注意,这var只是一个注释,并被提升.在全局上下文中,这将创建"jQuery"属性.
抓住了ReferenceError.老实说,我从来没有见过这个也不推荐它,但它会起作用.
快乐的编码.
过程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)
| 归档时间: |
|
| 查看次数: |
13451 次 |
| 最近记录: |