`

Javascript 中 null、NaN和undefined的区别

 
阅读更多
js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型。

未定义的值和定义未赋值的为undefined,null是一种特殊的object,NaN是一种特殊的number。

(1)undefined与null是相等;(2)NaN与任何值都不相等,与自己也不相等。

在JavaScript中,null与undefined一度使人迷惑。下面的分析,有利于你更清晰的认知它(或者让你更迷惑):

- null是关键字;undefined是Global对象的一个属性

- null是对象(空对象, 没有任何属性和方法);undefined是undefined类型的值。试试下面的代码:

       document.writeln(typeof null); //return object
       document.writeln(typeof undefined); //return undefined

- 对象模型中,所有的对象都是Object或其子类的实例,但null对象例外:
       document.writeln(null instanceof Object); //return false

- null“等值(==)”于undefined,但不“全等值(===)”于undefined:
       document.writeln(null == undefined); //return true
       document.writeln(null === undefined); //return false

- 运算时null与undefined都可以被类型转换为false,但不等值于false:
       document.writeln(!null, !undefined); //return true,true
       document.writeln(null==false); //return false
       document.writeln(undefined==false); //return false
分享到:
评论

相关推荐

    js判断undefined类型,undefined,null,NaN的区别

    JavaScript 中的 undefined、null、NaN 的区别 在 JavaScript 中,undefined、null、NaN 是三个经常被混淆的概念,但它们有着不同的含义和用途。今天,我们将深入探讨这三个概念的区别和应用。 undefined 在 ...

    Javascript 中 null、NaN和undefined的区别总结

    这里我们将重点讨论 null、NaN 和 undefined 之间的区别。 1. **类型分析**: - `undefined` 通常表示变量被声明但未赋值。当试图访问一个不存在的变量或者对象的属性时,也会返回 `undefined`。 - `null` 是一个...

    JavaScript中的null和undefined用法解析

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

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

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

    JavaScript Undefined,Null类型和NaN值区别

    在JavaScript中,`undefined`、`null`和`NaN`是三个重要的特殊值,它们各自具有独特的含义和用途。理解这些概念对于编写健壮的JavaScript代码至关重要。 **一、Undefined 类型** `undefined`类型只有一个值,即`...

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

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

    javascript中的undefined 与 null 的区别 补充篇

    之前软件开发网发不过类似的文章JavaScript null和undefined区别分析JavaScript Undefined,Null类型和NaN值区别先说说undefined: Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的...

    JavaScript中的null和undefined解析

    通过以上的解析,我们了解到JavaScript中的null与undefined虽然在某些方面非常相似,但是它们在概念、使用和性能上都有各自的特点和区别。在编程实践中,正确地理解和使用这两个值能够帮助开发者写出更为高效和健壮...

    JS中判断null、undefined与NaN的方法

    在JavaScript编程中,正确地判断null、undefined和NaN是很重要的,因为这三种值在逻辑上和运算时都有一些特殊行为。本文将详细介绍如何在JS中检测这三种特殊值。 首先,null和undefined都是表示“无”的值。null是...

    详解JavaScript中undefined与null的区别

    在JavaScript中,null和undefined是两个特殊的值,用来表示“无”的状态,但是在实际应用中有微妙的差别和不同的用途。虽然在很多场景中,它们的表现几乎是一致的,但在其他一些情况下,它们则有着明确的区别。 ...

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

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

    在JavaScript中学习undefined学习总结.doc

    这里的两个例子都展示了`undefined`和`null`如何在逻辑上被视为相等,即使它们在概念上有所区别。 当`undefined`值参与布尔、数值或字符串环境的转换时,它会有特定的行为: 1. **布尔环境**:在布尔上下文中,`...

    javascript中undefined与null的区别

    在JavaScript编程语言中,`undefined` 和 `null` 是两种不同的原始类型,它们虽然在某些情况下表现出相似的行为,但有着本质的区别。理解这两者的差异对于编写健壮的JavaScript代码至关重要。 首先,`undefined` 和...

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

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

    JavaScript基本类型值-Undefined、Null、Boolean

    在JavaScript中,基本类型值的使用和处理非常重要,了解Undefined、Null和Boolean这三种基本类型值,能够帮助开发者更好地编写逻辑判断和数据验证的代码,为编写高质量的JavaScript程序打下坚实的基础。

    js删除对象/数组中null、undefined、空对象及空数组方法示例

    在JavaScript编程中,有时我们需要处理复杂的数据结构,例如对象和数组,确保它们不包含无效的值,如`null`、`undefined`、空对象或空数组。这些无效值可能会导致错误或不必要的处理开销。本篇文章将深入探讨如何在...

Global site tag (gtag.js) - Google Analytics