1.undefined:以下三种情况typeof 返回类型为undefined,undefined 并不等同于未定义的值,(只能用 === 运算来测试某个值是否是未定义的)
- 当变量未初始化时
- 变量未定义时
- 函数无明确返回值时(或函数没有返回值时返回的都是undefined)
var x;
var y = false;
typeof(x) // "undefined"
x == y // true
x === y // false
2.null:undefined 是由null派生处理的,因此undefined == null,在js中用typeof方法就会发现null其实是一个对象
var x = null;
var y = false;
x == y // true
x === y // false
3.NaN是一个特殊的number类型,表示非数(Not a Number),类型转换失败就会返回NaN,例如:要把一个单词apple转换为数值就会失败,因为没有等价的数值,NaN与任何值都不相等,与自己也不相等。判断是否是NaN类型可以使用 isNaN(),如果返回false则表示是一个数字,否则返回false;
4.false运算时null与undefined都可以被类型转换为false,但不等值于false:
document.writeln(!null, !undefined); //return true,true
document.writeln(null==false); //return false
document.writeln(undefined==false); //return false
5.""
var x = "";
var y = false;
x == y //true
x === y // false
6.0
var x = 0;
var y = false;
x == y //true
x === y // false
注:
1.== 是指等式,与类型无关(Equality, regardless of type.)
===是指恒等式,类型必须想匹配(Identity, types must match.)
2.typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null;
var a7 = NaN;
var a8 = undefined;
alert(typeof a); //显示"undefined"
alert(typeof a1); //显示"undefined"
alert(typeof a2); //显示"boolean"
alert(typeof a3); //显示"number"
alert(typeof a4); //显示"string"
alert(typeof a5); //显示"object"
alert(typeof a6); //显示"object"
alert(typeof a7); //显示"number"
alert(typeof a8); //显示"undefined"
分享到:
相关推荐
JavaScript 中的 undefined、null、NaN 的区别 在 JavaScript 中,undefined、null、NaN 是三个经常被混淆的概念,但它们有着不同的含义和用途。今天,我们将深入探讨这三个概念的区别和应用。 undefined 在 ...
在JavaScript编程中,正确地判断null、undefined和NaN是很重要的,因为这三种值在逻辑上和运算时都有一些特殊行为。本文将详细介绍如何在JS中检测这三种特殊值。 首先,null和undefined都是表示“无”的值。null是...
在JavaScript中,`undefined`、`null`和`NaN`是三个重要的特殊值,它们各自具有独特的含义和用途。理解这些概念对于编写健壮的JavaScript代码至关重要。 **一、Undefined 类型** `undefined`类型只有一个值,即`...
在JavaScript中,有几种特殊的值,它们是`undefined`、`null`、空字符串`""`、数字`0`和布尔值`false`。尽管它们在某些情境下被视为“假值”,但它们各自有着不同的含义和用途。在逻辑判断中,这些值在`if`语句的...
之前软件开发网发不过类似的文章JavaScript null和undefined区别分析JavaScript Undefined,Null类型和NaN值区别先说说undefined: Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的...
此外,`undefined`和`null`还常与其他类型的值混淆,比如`NaN`(Not-a-Number)。`NaN`是一个特殊的数值类型,表示非数字值,与任何值都不相等,包括它自己: ```javascript console.log(NaN === NaN); // 输出: ...
- `Boolean(undefined)`:`false` - `Number(undefined)`:`NaN` - `String(undefined)`:`'undefined'` 而 `null` 被设计为一个空对象指针,虽然 `typeof null` 返回 `'object'`,但这实际上是一个历史遗留问题。`...
在js中有5种基础类型数据:string、number、boolean、null、undefined,其中,常用于计算或者比较的类型是前面三种。 基础数据之间的转换 其它类型转化数字 原始数据类型 目标类型Number undefined NaN null 0 ...
`undefined` 在类型转换时,会转换成布尔值 `false`,数值 `NaN`,以及字符串 `'undefined'`。 与 `undefined` 相比,`null` 是一个表示“空值”的关键字,它被设计为一个空对象指针,尽管在 JavaScript 中它的类型...
这里我们将重点讨论 null、NaN 和 undefined 之间的区别。 1. **类型分析**: - `undefined` 通常表示变量被声明但未赋值。当试图访问一个不存在的变量或者对象的属性时,也会返回 `undefined`。 - `null` 是一个...
本文将深入探讨JS中的0、null、undefined、[], {}, '', false之间的关系。 首先,我们来看一下0与其他值的比较: 1. 0 == false:在JavaScript中,0被视为布尔值的假(false),因此0与false相等,即0 == false...
JavaScript中的`undefined`、`null`和`NaN`都是特殊的数据类型,它们在编程中扮演着重要的角色。本文将深入探讨这些概念的区别及其在实际应用中的处理方式。 首先,JavaScript有七种原始数据类型,包括`undefined`...
}var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];console.log(unique(arr))// [1, "true", true, 15, false, undefined, null...
例如,0、空字符串、null、undefined、NaN、-0和Infinity在转换为Boolean值时都会变为false,而所有其他值都会转换为true。值得注意的是,即使是"false"这个字符串,在JavaScript中通过Boolean()函数转换后结果为...
转换为数字时,undefined变成NaN,null变成0;转换为字符串时,undefined变成"undefined",null变成"null"。 总结来说,undefined通常代表变量声明但未赋值的状态,而null则常用于表示预期的对象位置但实际上为空。...
然而,使用严格相等运算符 `===` 时,`null` 和 `undefined` 之间的比较会返回 `false`,因为它们是不同类型的值: ```javascript null === undefined; // false ``` 在实际编程中,区分 `null` 和 `undefined` 很...
在这个话题中,我们将探讨JavaScript中的0、null、undefined、空字符串`""`、空数组`[]`、空对象`{}`以及布尔值`false`之间的关系。 1. **0与虚值的比较**: - `0 == false`:在JavaScript中,`false`被视为布尔...