首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查变量或对象是否未定义?

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

Stack Overflow用户
提问于 2011-12-16 15:23:36
回答 7查看 13.7K关注 0票数 6

我一直认为我可以通过将未定义的变量与未定义的变量进行比较来检查它,但这是我在chrome控制台中得到的错误:

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

编辑:

如果(JQuery)也给我出了问题

编辑:

解决方案:

if(window.jQuery)起作用了。typeof(jQuery) == 'undefined'也可以工作。

有谁能解释一下原因吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-12-16 15:29:33

有几种解决方案:

  1. 使用typeof。它是一个特殊的运算符,永远不会产生ReferenceError。对于undefined值或上下文中不存在的变量,它的计算结果为“未定义”。我不是它的粉丝,但它似乎很常见。
  2. 使用window.jQuery。这将强制执行“属性查找”:属性查找永远不会失败,如果所述属性不存在,则返回undefined。我在一些框架中看到过它的使用。它的缺点是假设一个上下文(通常是window).
  3. Make,确保变量是“声明的”:var jQuery; if (jQuery) { /* yay */ }。看起来不是很常见,但它是完全有效的。请注意,var只是一个注释,并且已被提升。在全局上下文中,这将创建property.
  4. Catch ReferenceError的"jQuery“。老实说,我从来没有见过它,我也不推荐它,但它会起作用的。

祝你编码愉快。

票数 9
EN

Stack Overflow用户

发布于 2011-12-16 15:27:15

流程1:

代码语言:javascript
复制
if (jQuery) {  
    // jQuery is loaded  
} else {
    // jQuery is not loaded
}

流程2:

代码语言:javascript
复制
if (typeof jQuery == 'undefined') {  
    // jQuery is not loaded  
} else {
    // jQuery is loaded
}
票数 5
EN

Stack Overflow用户

发布于 2011-12-16 15:26:11

来自here

代码语言:javascript
复制
if(typeof jQuery == "undefined") { 
  document.write("undefined"); 
}else{ 
   document.write("Exists"); 
} 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8531059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档