怎样理解undefined和 null

最后都变了- 提交于 2019-11-30 18:28:01

前言: undefined表示 "未定义", null 表示 "空"

第一步: 一般在变量或属性没有声明或者声明以后没有赋值时, 这个变量的值就是undefined;

typeof a; // "undefined";

var b;
typeof(b); // "undefined";

var c = {};
typeof(c.name); // "undefined";

 

第二步: null是检测变量指向的内存地址是否存在, 即: 如果变量不指向任何一个内存地址, 则返回null.

document.getElementById("fasdf")
// null
Object.prototype.__proto__;
// null

  

注意:

null 和 undefined 都是基本类型, 使用instanceof检测类型时都会返回false; 但null非常特殊, 使用typeof去判断时会返回object, 但是有instanceof判断时又会返回false; 一般判断某个变量是否为null, 使用的是: null === null;

null instanceof Object; // false
undefined instanceof Object; // false

typeof null; // "object";
typeof undefined; // "undefined";

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!