分类分类
更新时间:2026-02-25 18:15:38作者:qazwsxzxc
在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。
var a = undefined;
var a = null;
上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。
undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等。
if (!undefined)
console.log('undefined is false');
// undefined is false
if (!null)
console.log('null is false');
// null is false
undefined == null
// true
上面代码说明,两者的行为是何等相似!
既然undefined和null的含义与用法都差不多,为什么要同时设置两个这样的值,这不是无端增加JavaScript的复杂度,令初学者困扰吗?Google公司开发的JavaScript语言的替代品Dart语言,就明确规定只有null,没有undefined!
Undefined
Undefined 类型只有一个值,即 undefined。
声明了变量,但未进行初始化时,这个变量的值就是 undefined,例如:
var message;
alert(message == undefined); // true
字面量 undefined 的主要目的是用于比较,而ECMAScript 3.0之前的版本中并没有规定这个值。引入这个值是为了正式区分空对象指针 与 未经初始化的变量。
Null
Null 类型是第二个只有一个值的类型,即 null。
从逻辑角度来看,null 表示一个空对象指针,因此,当使用 typeof 操作符检测 null 值时,会返回“object”,如下所示:
var car = null;
alert(typeof car); // "object"
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null,而不是其他值,这样一来只要直接检查null值就可以知道该变量是否保存了一个对象的引用,例如:
if (car != null) {
dosomthing
}
实际上, undefined值是派生自 null值的,因为他们在执行相等性测试(==)时要返回 true
alert(null == undefined) // true
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持爱吾源码
相关
scarfall2.0动作射击1.41Gv1.4.42026-02-25
下载小鹦看看app母婴育儿136.93 Mv3.6.22026-02-25
下载兔兔游记休闲益智187.35 Mv1.1.02026-02-25
下载孤独的村庄游戏角色扮演406.65 Mv1.6.222026-02-25
下载泡椒音乐app影音播放3.37 Mv1.02026-02-25
下载中公图书app母婴育儿187.88 Mv1.1.72026-02-25
下载荣煤宝app学习办公99.21 Mv2.2.752026-02-25
下载乐高忍者元素之战角色扮演886.57 Mv1.05.2.9702026-02-25
下载之了学吧app母婴育儿32.68 Mv1.6.52026-02-25
下载拳击俱乐部2手机版角色扮演26.92 Mv1.0.62026-02-25
下载云赏HIFI app实用工具54.02 Mv2.2.82026-02-25
下载元仔app(PawLove)社交通讯351.77 Mv1.9.22026-02-25
下载










