JavaScript中undefined和null的区别


Posted in Javascript onMay 03, 2017

 JavaScript中undefined和null的区别

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

1.undefined和null在if语句中,都会被自动转为false,相等运算符直接报告两者相等。

!null==!undefined==true

2.null表示”没有对象”,即该处不应该有值。典型用法是:

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

      (2) 作为对象原型链的终点。

Object.getPrototypeOf(Object.prototype) // null

undefined表示”缺少值”,就是此处应该有一个值,但是还没有定义。典型用法是:

    (1)变量被声明了,但没有赋值时,就等于undefined。

    (2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

    (3)对象没有赋值的属性,该属性的值为undefined。

    (4)函数没有返回值时,默认返回undefined。

var i;
    i // undefined

    function f(x){console.log(x)}
    f() // undefined

    var o = new Object();
    o.p // undefined

    var x = f();
    x // undefined

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
JQUERY复选框CHECKBOX全选,取消全选
Aug 30 Javascript
爆炸式的JS圆形浮动菜单特效代码
Mar 03 Javascript
offsetParent 算法分析
Apr 05 Javascript
javascript中的关于类型转换的性能优化
Dec 14 Javascript
可在线编辑网页文字效果代码(单击)
Mar 02 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
Nov 17 Javascript
实例分析js和C#中使用正则表达式匹配a标签
Nov 26 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
webpack是如何实现模块化加载的方法
Nov 06 Javascript
angular异步验证防抖踩坑实录
Dec 01 Javascript
解决vue-photo-preview 异步图片放大失效的问题
Jul 29 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
May 03 #Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
May 03 #Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
May 03 #Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
May 03 #Javascript
javascript过滤数组重复元素的实现方法
May 03 #Javascript
JS实现图片点击后出现模态框效果
May 03 #Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
May 03 #Javascript
You might like
PHP游戏编程25个脚本代码
2011/02/08 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
jquery插件开发方法(初学者)
2012/02/03 Javascript
php与js的区别是什么
2013/08/05 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
Python进程间通信用法实例
2015/06/04 Python
python从入门到精通(DAY 3)
2015/12/20 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
用python实现对比两张图片的不同
2018/02/05 Python
python opencv之SURF算法示例
2018/02/24 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
测试工程师职业规划书
2014/02/06 职场文书
社区志愿者活动总结
2014/06/26 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
庆七一晚会主持词
2015/06/30 职场文书
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏