`
zhouyrt
  • 浏览: 1141578 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript判断变量是否为undefined两种方式差异

 
阅读更多

我们经常需要判断某个变量/属性是否为undefined。通常有两种写法

 

// 方式1
typeof age === 'undefined';

// 方式2
age === undefined

 

这两种写法有什么区别吗? 应该使用哪一种呢?看看下面的例子

 

typeof age === 'undefined'; // true

 

标识符 age 没有声明过,输出true。

 

再看另一个例子

 

age === undefined; // 报错

 

Firebug提示age is not defined,

 

这就是两者的区别, 即不确定age是否声明或定义时用方式1,确定的则可以用方式2。使用方式1如果变量没有声明,代码也不会报错,但方式2会报错。看似方式1容错性更好,实际会是潜伏了的Bug。变量先声明再使用永远是个好习惯。

 

此外,方式1是两次运算,方式2是一次。 

 

1
1
分享到:
评论
1 楼 yeah1900 2011-09-16  
把第二段代码改成这样就不会报错了:
window.age === undefined

相关推荐

    JavaScript判断变量是否为undefined的两种写法区别

    本文将深入探讨两种常见的判断方式及其差异。 **方式1: 使用`typeof`运算符** ```javascript typeof age === 'undefined'; ``` 这种方式通过`typeof`运算符检查变量`age`的类型。`typeof`返回一个表示变量类型的...

    javascript类型系统--undefined和null全面了解_.docx

    JavaScript 类型系统中的 `undefined` 和 `null` 是两种特殊的原始值,它们分别代表不同的概念。在 JavaScript 中,每个变量都有一个类型,当变量未初始化或引用的对象不存在时,就会出现 `undefined` 或 `null`。 ...

    Javascript类型系统之undefined和null浅析_.docx

    JavaScript 类型系统中的 `undefined` 和 `null` 是两种特殊的原始值,它们分别代表不同的概念。`undefined` 主要用于表示变量已经声明但未被赋值的情况,而 `null` 则是一个特意设置的值,通常用来表示一个“空”的...

    JavaScript中的null和undefined用法解析

    在JavaScript编程语言中,`null` 和 `undefined` 是两个重要的概念,它们都用来表示某种“不存在”或“没有”的状态,但它们之间存在着微妙的差异。了解这些差异对于编写健壮的JavaScript代码至关重要。 首先,`...

    js中 关于undefined和null的区别介绍.docx

    在JavaScript编程语言中,`undefined`和`null`是两种不同的数据类型,它们虽然在某些情况下可能被视为等价,但有着本质的区别。了解这两者的差异对于编写健壮的JavaScript代码至关重要。 首先,`undefined`是一种...

    JavaScript中Null与Undefined的区别解析

    在JavaScript编程语言中,Null和Undefined是两种不同的原始值,它们在特定场景下有特定的含义,有时也会引起初学者的困惑。理解这两者之间的差异是编写健壮JavaScript代码的关键。 首先,Undefined类型是一个特殊的...

    JavaScript 深入学习【词法结构值类型和变量】

    值类型是指数据在内存中的存储方式,JavaScript中有七种基本值类型:Undefined、Null、Boolean、Number、BigInt、String和Symbol。其中,Undefined和Null是特殊的数据类型,而Boolean、Number、BigInt、String和...

    JavaScript中判断对象类型的几种方法总结

    这是更为准确的一种判断方式,特别是对于处理跨框架问题。`Object.prototype.toString.call(obj)`会返回一个表示`obj`类型信息的字符串,例如`"[object Array]"`或`"[object RegExp]"`。这个方法可以遍历整个原型链...

    JavaScript教程及实例讲解.txt

    尽管名字相似,但JavaScript与Java是两种完全不同的编程语言。Java是由Sun Microsystems开发的一种面向对象的编程语言,而JavaScript则是Netscape公司为了增强Netscape Navigator浏览器的功能而开发的一种脚本语言。...

    JavaScript undefined及null区别实例解析

    在JavaScript中,`undefined` 和 `null` 是两种特殊的值,它们虽然在某些情况下表现出相似的行为,但在语义上有着明显的区别。理解这两者之间的差异对于编写健壮的JavaScript代码至关重要。 首先,`undefined` 是一...

    JavaScript中null与undefined分析

    在JavaScript编程语言中,`null`和`undefined`是两个非常基础且重要的概念。虽然它们经常被用来表示“无值”或“空值”,但它们之间还是存在着一些关键性的区别。本文将详细探讨这两个概念的含义、用法以及它们之间...

    JavaScript中的null和undefined解析

    在JavaScript编程语言中,null和undefined是两个基本且重要的数据类型,它们通常用来表示无值或者缺值的状态。但是在很多情况下,新手开发者和一些经验丰富的开发者都会对这两个值之间的区别感到困惑。本文将深入...

    javascript定义变量时带var与不带var的区别分析

    在JavaScript编程语言中,变量的声明有两种方式:使用`var`关键字和不使用`var`关键字。这两种方式在不同上下文环境中会导致不同的结果,尤其是在作用域方面存在显著差异。接下来,我们将深入探讨这两种声明方式的...

    javascript类型系统——undefined和null全面了解

    JavaScript 类型系统中,`undefined` 和 `null` 是两种重要的原始值,它们各自具有特定的含义和用途。本文将深入探讨这两种类型的起源、差异、使用场景以及类型转换。 首先,`undefined` 在 JavaScript 中主要表示...

    理解Javascript_02_理解undefined和null

    在JavaScript中,如果想要检查一个变量是否声明且未初始化,可以使用 `typeof` 操作符来判断,如 `if (typeof varName === 'undefined') {...}`。这样既可以检测未定义的变量,也能处理未初始化的变量。 总结来说,...

    javascrit中undefined和null的区别详解.docx

    在JavaScript编程中,`undefined`与`null`是非常常见的两种基本数据类型。虽然它们都表示某种形式的“无”或“空”,但在实际使用中两者有着本质的区别。理解这些区别对于编写高质量、可维护的代码至关重要。 #### ...

    javascript中文帮助文档

    4. **变量声明**:VBScript使用Dim声明变量,JavaScript变量声明可省略。 5. **异常处理**:VBScript使用On Error语句,JavaScript使用try...catch。 综上所述,"javascript中文帮助文档"和"vbscript"的中文帮助...

Global site tag (gtag.js) - Google Analytics