首页 > JavaScript > JavaScript 检查变量是否存在(已定义/初始化)

JavaScript 检查变量是否存在(已定义/初始化)

上一篇 下一篇

哪种检查变量是否已初始化的方法更好/正确?
(假设变量可以容纳任何东西(字符串、整数、对象、函数等))

if (elem) { // or !elem

if (typeof elem !== 'undefined') {

if (elem != null) {

分割线
网友回答:

在许多情况下,使用:

if (elem) { // or !elem

会为您完成这项工作!…这将检查以下情况:

  1. 定义:如果未定义值,并且undefined
  2. null:如果它是空的,例如,如果 DOM 元素不存在…
  3. 空字符串''
  4. 0:数字零
  5. NaN:不是一个数字

所以它会涵盖所有情况,但总有一些奇怪的情况我们也想涵盖,例如,一个带有空格的字符串,就像这个,这将在 javascript 中定义,因为它在字符串中有空格……例如,在这种情况下,您使用 trim() 再添加一个检查,例如:' '

if(elem) {

if(typeof elem === 'string' && elem.trim()) {
///

此外,这些检查仅适用于,因为对象和数组在 Javascript 中的工作方式不同,空数组和空对象始终为 true[]{}

我创建下面的图像以显示答案的快速简介:

分割线
网友回答:

您需要操作员。具体说来:typeof

if (typeof variable !== 'undefined') {
    // the variable is defined
}

分割线

网友回答:

操作员将检查变量是否真的未定义。typeof

if (typeof variable === 'undefined') {
    // variable is undefined
}

与其他运算符不同,该运算符在与未声明的变量一起使用时不会引发 ReferenceError 异常。typeof

但是,请注意,这将返回。我们必须小心避免将变量初始化为 .为了安全起见,我们可以改用以下内容:typeof null"object"null

if (typeof variable === 'undefined' || variable === null) {
    // variable is undefined or null
}

有关使用严格比较而不是简单相等的更多信息,请参阅:
在 JavaScript 比较中应该使用哪个等于运算符 (== vs ===)?=====

模板简介:该模板名称为【JavaScript 检查变量是否存在(已定义/初始化)】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 176次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-17
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
单页式简历模板 微信图片 微信模板 微信公众平台 企业网站 微信文章 html5 自适应 微信素材 响应式
您可能会喜欢的其他模板