a. null是关键字,不能用作函数或变量的名称;undefined是Global对象的一个属性:
alert('undefined' in window); // true
alert(undefined in window); // true
b. null是特殊的object(空对象, 没有任何属性和方法);undefined是undefined类型的值,未定义的值和定义未赋值的为undefined;NaN是一种特殊的number:
document.writeln(typeof null); // object
document.writeln(typeof undefined); // undefined
document.writeln(typeof granularity); // undefined
var heuristic;
document.writeln(typeof heuristic); // undefined
document.writeln(typeof NaN); // number
c. 对象模型中,所有的对象都是Object或其子类的实例,但null对象例外:
document.writeln(null instanceof Object); // false
d. null“等值(==)”于undefined,但不“全等值(===)”于undefined,NaN与任何值都不相等,与自己也不相等:
document.writeln(null == undefined); // true
document.writeln(null === undefined); // false
document.writeln(NaN == null); // false
document.writeln(NaN == undefined); // false
document.writeln(NaN == NaN); // false
可以用下面函数判断null和undefined:
function test(val) {
return val == null;
}
alert(test(null)); // true
alert(test(undefined)); // true
e. null与undefined都可以转换成false,但不等值于false:
document.writeln(!null, !undefined); // true true
document.writeln(undefined == false); // false
document.writeln(null == false); // false
f. null不等于0,但是计算中null会当做成0来处理;undefined计算的结果是NaN;NaN计算的结果也是NaN:
alert(null == 0); // false
alert(123 + null); // 123
alert(123 * null); // 0
alert(123 / null); // Infinity
alert(123 + undefined); // NaN
alert(123 * undefined); // NaN
alert(123 / undefined); // NaN
alert(123 + NaN); // NaN
alert(123 * NaN); // NaN
alert(123 / NaN); // NaN
分享到:
相关推荐
JavaScript 中的 undefined、null、NaN 的区别 在 JavaScript 中,undefined、null、NaN 是三个经常被混淆的概念,但它们有着不同的含义和用途。今天,我们将深入探讨这三个概念的区别和应用。 undefined 在 ...
1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型。 代码 代码如下: var a1; var a2 = true; var a3 = 1; var a4 = “Hello”; var a5 = new Object()...
在JavaScript中,`undefined`、`null`和`NaN`是三个重要的特殊值,它们各自具有独特的含义和用途。理解这些概念对于编写健壮的JavaScript代码至关重要。 **一、Undefined 类型** `undefined`类型只有一个值,即`...
在JavaScript编程中,正确地判断null、undefined和NaN是很重要的,因为这三种值在逻辑上和运算时都有一些特殊行为。本文将详细介绍如何在JS中检测这三种特殊值。 首先,null和undefined都是表示“无”的值。null是...
之前软件开发网发不过类似的文章JavaScript null和undefined区别分析JavaScript Undefined,Null类型和NaN值区别先说说undefined: Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的...
在JavaScript中,`undefined`与`null`的比较遵循弱类型特性,通过`==`运算符,两者被认为是相等的: ```javascript let prop; console.log(prop == null); // 输出 true let obj = {}; console.log(obj....
JavaScript 类型系统中的 `undefined` 和 `null` 是两种特殊的原始值,它们分别代表不同的概念。`undefined` 主要用于表示变量已经声明但未被赋值的情况,而 `null` 则是一个特意设置的值,通常用来表示一个“空”的...
在JavaScript编程语言中,`null` 和 `undefined` 是两个重要的概念,它们都用来表示某种“不存在”或“没有”的状态,但它们之间存在着微妙的差异。了解这些差异对于编写健壮的JavaScript代码至关重要。 首先,`...
JavaScript 类型系统中的 `undefined` 和 `null` 是两种特殊的原始值,它们分别代表不同的概念。在 JavaScript 中,每个变量都有一个类型,当变量未初始化或引用的对象不存在时,就会出现 `undefined` 或 `null`。 ...
在JavaScript中,使用`==`比较运算符比较`undefined`和`null`会得到`true`,因为这两个值在松散相等比较中被视为相等。然而,使用严格相等运算符`===`比较时,它们被认为是不相等的,因为它们是两种不同的数据类型:...
在JavaScript编程语言中,null和undefined是两个基本且重要的数据类型,它们通常用来表示无值或者缺值的状态。但是在很多情况下,新手开发者和一些经验丰富的开发者都会对这两个值之间的区别感到困惑。本文将深入...
在现代JavaScript中,null和undefined经常被互换使用,尤其在if语句中两者都会被自动转换为false,以及在比较时两者相等(==)。 然而,null和undefined在某些情况下的用法是有区别的。比如: - null通常用于函数...
在比较操作中,`undefined` 和 `null` 通过相等运算符(`==`)比较时会返回 `true`,但由于它们的类型不同,通过严格相等运算符(`===`)比较时会返回 `false`。这意味着: ```javascript undefined == null // 输出...
然而,在JavaScript中,使用宽松相等(==)运算符比较undefined和null时,它们被认为是相等的: ```javascript console.log(undefined == null); // 输出: true ``` 需要注意的是,虽然undefined和null在使用宽松...
在JavaScript编程中,有时我们需要处理复杂的数据结构,例如对象和数组,确保它们不包含无效的值,如`null`、`undefined`、空对象或空数组。这些无效值可能会导致错误或不必要的处理开销。本篇文章将深入探讨如何在...
在JavaScript中,`undefined`和`null`是两个基本的数据类型,它们都用于表示“无”的状态,但在具体含义和用途上却有着明显的区别。 首先,我们来理解`null`。在JavaScript中,`null`是一个特殊的关键字,表示一个...