当前位置: 首页 > news >正文

undefined与null的区别

null 表示一个对象被定义了,值为“空值”

undefined 表示不存在这个值

1.undefined

typeof undefined    //"undefined" 

 undefined 是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但还没有定义。当尝试读取时会返回 undefined

例如变量被声明了,但没有赋值时,就等于 undefined

(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。

//1 变量被声明了,但没有赋值时,就等于undefined。
var name;
name  //undefined//2 调用函数时,应该提供的参数没有提供,该参数等于undefined。
function f(x) {console.log(x)
}
f()  //undefined//3 对象没有赋值的属性,该属性的值为undefined。
var obj = new Object();
obj.name  //undefined//4 函数没有返回值时,默认返回undefined。
var val = f()
val //undefined

2.null 

typeof null    //"object"   

null 是一个空对象(空对象, 没有任何属性和方法)

例如作为函数的参数,表示该函数的参数不是对象

(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。 

 注意: 在验证 null 时,一定要使用=== ,因为 == 无法分别 null 和 undefined undefined 表示"缺少值",就是此处应该有一个值,但是还没有定义。

http://www.lryc.cn/news/114066.html

相关文章:

  • Unity之获取用户地理位置
  • TC3XX - MCAL知识点(二十):CAN MCAL配置及代码实战(CAN/CANFD/extenen CAN)
  • QT生成Debug和Release发布版后,运行exe缺少dll问题
  • 企业进销存管理流程有哪些? 附进销存管理系统
  • RPC原理与Go RPC详解
  • JavaScript:异步编程的发展
  • 排序第二课【选择排序】直接选择排序 与 堆排序
  • 【chrome扩展开发】vue-i18n使用问题及解决方案
  • 【Vue3】localStorage读取数组并赋值的问题
  • 华为harmonyos4.0鸿蒙4.0安装谷歌服务框架Play商店,解决从服务器检索信息时出错
  • pcl 滤波
  • 前端js--旋转幻灯片
  • 解决mvn clean install遇到testng单元测试失败时打包也失败的问题
  • RISC-V基础之函数调用(二)栈与寄存器(包含实例)
  • 解析器模式(C++)
  • 电子元器件选型与实战应用—02 电容选型第1篇(8000字)
  • 试图将更改推送到 GitHub,但是远程仓库已经包含了您本地没有的工作(可能是其他人提交的修改)
  • Lamport向量时钟算法的C++实现:在分布式系统中生成事件的部分排序并检测因果关系违规
  • 多个excel的sheet合并到一个excel下
  • 【Fegin技术专题】「原生态」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(中)
  • leetcode--每日一题--822--344(使用异或来进行数据交换)
  • OpenStreetMap数据转3D场景【Python + PostgreSQL】
  • 动力节点|MyBatis入门实战到深入源码
  • 分布式规则引擎框架的设计
  • C#开发FFMPEG例子(API方式) FFmpeg推送udp组播流
  • nvm下载node导致npm报错无法使用
  • LeetCode 热题 100JavaScript--2. 两数相加
  • zookeeper总结
  • 【程序环境与预处理玩转指南】
  • 搭建简易syslog日志中转服务器