`
itang
  • 浏览: 70764 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

回顾一下JavaScript的null, undefined

阅读更多
1、null, undefined在条件判断时都为false值
assert(! null );
assert(! undefined);
还有 空字符, 0, NaN
assert(! "");
assert("\n\t" == false)
assert(! 0);
assert(! NaN);

2、undefined值派生自null值,但是值等类型不等
assert(null == undefined); //值等
assert(! (null === undefined));// 值等类型不等

null值的类型是Object,undefined值的类型是Undefined
assert(typeof null == 'object');
assert(typeof undefined == 'undefined');

3、变量已声明但未初始化,其值是undefined
var a; //相当于var a = undefined;
assert(a == undefined);
assert(a == null);
assert(a != 1);
assert(typeof a == 'undefined');

4、未声明过的变量不可参与表达式计算,但可使用typeof操作符判断其类型
try{
c == undefined ? 0 : 1; // 不可使用未声明的变量参与计算, 否则抛ReferenceError异常
}catch(e){
console.log(e); //ReferenceError: c is not defined
}

assert(typeof(b) == 'undefined'); // 未声明过的变量类型为Undefined

注: assert方法简单实现:
function assert(expr){
if(expr !== true){
throw "Assert error";
}
}
分享到:
评论

相关推荐

    理解javascript中undefined和null的区别

    理解javascript中undefined和null的区别

    javascript 中null和undefined区分和比较

    javascript 中null和undefined区分和比较 Undefined类型 Undefined 类型只有一个值,即特殊 undefined 。在使用 var 声明变量但未对其加以初始化时,这个变量的值就是 undefined , 例如: var message; alert(...

    JavaScript中undefined和null的区别

    JavaScript中undefined和null的区别 JavaScript两个表示”无”的值:undefined和null。我在平时只是null用的多一点,undefined只是在报错中经常遇到。下面针对这两个数据类型的异同做一下详细的比较。 1.undefined和...

    JavaScript null和undefined区别分析

    一时间不好回答,特别是... null 是 JavaScript 保留关键字。 null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值: 表达式:123 + null 结果值:123 表达式:123 * null 结果

    JavaScript中null与undefined分析

    JavaScript null undefined分析

    JavaScript中Null与Undefined的区别解析

    在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined。当声明的变量还未被...

    Javascript类型系统之undefined和null浅析

     一般的程序语言,表示空的只有null,但javascript的设计者Brendan Eich却设计了一个undefined,这无疑增加了程序复杂度,但这样做也是有一定原因的。本文将详细介绍javascript中的undefined和null 历史原因  ...

    JavaScript中的null和undefined用法解析

    null和undefined属于js中两种不同的基本数据类型,都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。并且在if语句的判断条件中,它们都会自动转为false,相等...

    详解JavaScript中undefined与null的区别

    有点奇怪的是,JavaScript语言居然有两个表示”无”的值:undefined和null。这是为什么? 一、相似性在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。 代码如下:var a = undefined;var a = ...

    javascript中undefined与null的区别

    有点奇怪的是,JavaScript语言居然有两个表示”无”的值:undefined和null。这是为什么? 一、相似性 在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。 var a = undefined; var a = null; ...

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

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

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

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

    JavaScript undefined及null区别实例解析

    在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。 var a = undefined; var a = null; 上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。 undefined和null在if语句中,...

    跟我学习javascript的undefined与null

    跟我学习javascript的undefined与null,从定义上理解null和undefined,告诉大家提高undefined性能的方法,感兴趣的小伙伴们可以参考一下

    JavaScript中的null和undefined解析

    在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。于是,细想之后,写下本文,请各位大侠拍砖。 总所周知:null == undefined ...

Global site tag (gtag.js) - Google Analytics