null 和 undefined 的区别

article/2025/9/24 13:56:09

一、概念

undefined 表示未定义,就是应该有值但是还没有赋值,连null的值都没有赋予

null 代表空值,空引用。

二、区别

1.  null 和 undefined 虽然值的结果是相等的,但是其所代表的语义是完全不一样的(==是相等的)。

  undefined 代表了某个变量完全不存在,在内存中完全能不存在这个标识符所指向的地址;

  null 代表了内存中是存在这个变量的,只是我在某些情况下需要把这个变量原本的值给覆盖了,将它设置为一个空。

2.  null 转为数值是 0 ;  undefined 转为数值是 NAN(not a number)。

3.  null 通过 typeof 判断类型的时候结果的输出是 object ; 而 undefined 的类型是 undefined 。


那么为什么 typeof null 是 object ?

null 和 undefined 都是js语言的基础数据类型, 都是原始值类型,但是 typeof null 是 object ,是因为不同的对象在底层都表现为二进制,在  JavaScript  中二进制前三位都为 0 的话会被判断为 object  类型,null 的二进制全部都为 0 ,前三位自然也是 0 ,所以执行 typeof 值会返回 object 。


4.  null 是 js 语言的关键字,是不允许用户用来作为标识符声明变量的,但是 undefined 可以,undefined 不是关键字。

在 node 环境中,我们声明的 undefined 会将原本的 undefined 覆盖的,但是在浏览器环境中不会,是因为浏览器中的 undefined 是直接被使用 Object.defineProperty 定义在了全局对象 window 上,默认就已经被配置成为了:值不可修改并且不可以被重新进行配置。

 三、null 和 undefined分别在实际项目中出现的场景有哪些

1、 undefined

   a. 变量被声明了,但是没有被赋值;

   b. 调用函数的时候,应该给函数传参却没有给函数传这个参数打印出来就是 undefined;

   c. 访问一个对象中没有的属性;

   d. 函数没有返回值时,默认就会返回undefined。

2、 null

   a.作为对象原型链的终点出现;

   b.当我们访问一个不存在的dom节点的时候。

 


http://chatgpt.dhexx.cn/article/A8ChPaiX.shtml

相关文章

copy与deepcopy区别

copy与deepcopy区别 1、deepcopy: 将复制对象完全复制一边,并作为一个独立的新个体单元存在。即使改变被复制对象,deepcopy新个体也不会发生变化 2、copy: 不产生一个独立的对象,在原有数据上打一个标签&#xff0…

Cookie和session的区别

共同之处: cookie和session都是用来跟踪浏览器用户身份的会话方式。 区别: cookie: 是一段保存在客户端的小文本;能够用来将用户活动过程中的状态信息保存到客户端,服务器可以获得该信息以便进行处理,跟踪到用户的…

cookie和session区别

cookie 1.什么是cookie Cookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。 2.为什么要用cookie 由于http协议是一种无状态…

“chmod 777-R 文件名”什么意思?

“chmod 777-R 文件名”什么意思? 1. Linux下,每个文件可拥有3种权限类型2. 权限值组合3.操作文件、目录的用户4.十位权限表示5.chmod修改权限 - 数字6.chmod修改权限 - 字母7. 参考 1. Linux下,每个文件可拥有3种权限类型 读取权限&#xf…

cent7把/var目录下所有文件改777,导致ssh连接不上问题

开发的同事用多个账号,想多个账号共享/var的资料所以执行了chmod -R 777 /var,导致ssh连接不上,错误如下图所示。这时ping和telnet 22都是通的,网络是没有问题的。 chmod -R 777 /var是把/var下所有文件和目录都改成了777&#xf…

chmod -R 777使用.

chmod 修改文件和文件夹读写执行属性 1。把hh.c文件修改为可写可读可执行 chmod 777 hh.c 要修改某目录下所有的文件属性为可写可读可执行 chmod 777 *.* 把文件夹名称与后缀名用*来代替就可以了。 同理若是要修改所有htm文件的属性 chmod 777 *.htm 2。把目录 /tmp/sco修改…

chmod +x 与chmod 777的区别

chmod x 是将文件状态改为可执行,而chmod 777 是改变文件读写权限。 在linux中使用man命令查看chmod的大纲我们可以得出以下有用的信息: chmod [OPTION]… MODE[,MODE]… FILE… chmod [OPTION]… OCTAL-MODE FILE… chmod [OPTION]… --referenceRFILE…

# 777

777@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdo…

29. 777

Description再次挺进世界总决赛!他们也许会迟到,但是从不会缺席!”第三张通往世界赛的门票的时候,弹幕里瞬间沸腾了,全屏刷数不尽的 龙龙心血来潮,想知道一个区间里面所有的数字中,有多少个数字…

chmod 777 到底是啥 ???看完这个你就完全懂了!

0X00 前言 可能对于Linux新手而言,很不解的一件事就是: 有时在访问文件xxx时,总是出现权限问题,但是上网一查,大佬们直接一句话: chmod 777 xxx 完事! 相信你当时的心情是这样的: …

GIS应用技巧之泰森多边形分析

一、什么是泰森多边形? 泰森多边形是由荷兰气候学家A.H.Thiessen提出的一种根据离散分布 的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角 形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平…

划分问题之泰森多边形简介

泰森多边形 文章目录 泰森多边形 简介性质用途 简介 图1 泰森多边形又叫冯洛诺伊图(Voronoi diagram)。 性质 图1为泰森多边形,其中: 每个划分区域有且仅有有一个样点,也叫做控制点、居名点,离散点 一个划分区域内的任一点到构成…

arcgis 泰森多边形

荷兰气候学家AHThiessen提出了一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个多边形内所包含的一个唯一…

【QGIS入门实战精品教程】9.1:QGIS构建泰森多边形(Thiessen Polygon)实例精解

泰森多边形是进行快速插值和分析地理实体影响区域的常用工具。例如,用离散点的性质描述多边形区域的性质,用离散点的数据计算泰森多边形区域的数据。泰森多边形可用于定性分析、统计分析和临近分析等。 参考教程: ArcGIS构建泰森多边形(Thiessen Polygon)实例精解 【Glob…

python 泰森多边形边界_简单泰森多边形的绘制

本期介绍泰森多边形,又叫沃罗诺伊图 (Voronoi diagram)。 混乱博物馆曾做过一期详实通俗的介绍:怎样画树叶 混乱博物馆_腾讯视频​v.qq.com 来源 : 看完了这个视频,我们对 Voronoi diagram 的算法有了大致的了解,下面来…

泰森多边形(Voronoi图)的matlab绘制

泰森多边形(Voronoi图)的matlab绘制 泰森多边形(Voronoi图)的matlab绘制1.泰森多边形的介绍2.算法实现2.0 matlab自带函数算法2.1 Delaunay三角算法2.3 泰森多边形算法 3泰森多边形的最终程序 泰森多边形(Voronoi图&am…

matlab实现泰森多边形

前言 原文: 《泰森多边形(Voronoi图)的matlab绘制》. 本文已经过原作者授权。如有错误,请批评指正。 泰森多边形介绍 泰森多边形是对空间平面的一种剖分,其特点是多边形内的任何位置离该多边形的样点(如居民点&…

arcpy泰森多边形法计算面雨量工具

在水利部门或气象部门中面平均降水量是降雨中很重要的指标,传统计算多用使用算术平均法,泰森多边形法和等值线法,后两种计算方法在传统的计算中很难计算,但使用用GIS十分方便计算,可以是任意区域的任意一场降雨。 一、…

Arcgis中生成泰森多边形的缓冲区

以地铁站点图层为例,先建立缓冲区: 位置:ArcToolbox——>分析工具——>领域分析——>缓冲区; 生成融合缓冲区; 再对原有地铁站点图层创建泰森多边形: 位置:ArcToolbox——>分析工具…

基于泰森多边形的位置优化

定义 \qquad 给定开集 Ω ⊆ R N \Omega\subseteq\mathbb{R}^{N} Ω⊆RN,如果当 i ≠ j i\ne j i̸​j且 ∪ i 1 k V i ˉ Ω ˉ \cup_{i1}^{k}\bar{V_{i}}\bar{\Omega} ∪i1k​Vi​ˉ​Ωˉ时 V i ∩ V j ∅ V_{i}\cap V_{j}\emptyset Vi​∩Vj​∅则集合 { V i…