zoukankan      html  css  js  c++  java
  • null和undefined的一些区别

    读了阮一峰的博客,自己总结一下,便记录一篇博客

    在javacript的基本类型中,有2种基本类型,只有1个值,便是null和undefined,都表示的是“无”。在一定程度上是相等的,如:

    但又不完全相等:

    同时,在if的判断条件中也是一致的:

    if(null)跟if(undefined)是同样的结果。

    从定义上来看:

    undefined表示变量声明但未初始化时的值。

    null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。

    我们可以用typeof来检测一下上述定义:

    记得《JS高程》中提过:任何时候都不建议显式的设置一个变量为undefined,但是如果保存对象的变量还没有真正保存对象,应该设置成null。也就是不建议这么写var a = undefined;

    从用法上来看:

    null的性质决定着它的以下用法:

    1、作为函数的参数,表示该函数的参数不是对象。

      function a(null){}

    2、在JS中,万物皆对象,每个对象都有一个原型链,而null就作为对象原型链的终点。

    undefined表示"缺少值",就是此处应该有一个值,但是还没有定义,有以下几点用法:

    另外,2者在进行强制类型装换时,是有差别的:

    结果如下:

  • 相关阅读:
    HTML5-拖拽
    POJ1182食物链(并查集)
    欧拉函数之HDU1286找新朋友
    Another kind of Fibonacce(矩阵快速幂,HDU3306)
    我的第一道java_A+B
    bestcoder#33 1002 快速幂取余+模拟乘,组合数学
    快速幂模版
    bestcoder#33 1001 高精度模拟
    poj2446_二分图
    poj3984_bfs+回溯路径
  • 原文地址:https://www.cnblogs.com/wuzhiquan/p/5999526.html
Copyright © 2011-2022 走看看