JavaScript中的null和undefined用法解析


Posted in Javascript onSeptember 30, 2019

1.概述

null和undefined属于js中两种不同的基本数据类型,都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。并且在if语句的判断条件中,它们都会自动转为false,相等运算符(==)甚至直接报告两者相等

var a = null;
var b = undefined;
if (!a) {
 console.log('a is false');
}//a is false
if (!b) {
 console.log('b is false');
}//b is false
if (null == undefined) {
 console.log('null == undefined is true')
}//null == undefined is true

null是一个表示“空”的对象,转为数值时为0;undefined是一个表示"此处无定义"的原始值,转为数值时为NaN。

Number(null); // 0
null + 9; // 9
Number(undefined); // NaN
undefined + 9; // NaN

2.用法和含义

对于null和undefined,大致可以像下面这样理解。null表示空值,即该处的值现在为空。调用函数时,某个参数未设置任何值,这时就可以传入null,表示该参数为空。比如,某个函数接受引擎抛出的错误作为参数,如果运行过程中未出错,那么这个参数就会传入null,表示未发生错误。undefined表示“未定义”,下面是返回undefined的典型场景。

// 变量声明了,但没有赋值
var i;
i // undefined

// 调用函数时,应该提供的参数没有提供,该参数等于 undefined
function f(x) {
 return x;
}
f() // undefined

// 对象没有赋值的属性
var o = new Object();
o.p // undefined

// 函数没有返回值时,默认返回 undefined
function f() {}
f() // undefined

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
Nov 09 Javascript
js实现二代身份证号码验证详解
Nov 20 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
Feb 18 Javascript
js获取当前日期时间及其它操作汇总
Apr 17 Javascript
浏览器复制插件zeroclipboard使用指南
Mar 26 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
May 11 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
js实现上传图片预览方法
Oct 25 Javascript
全面解析vue中的数据双向绑定
May 10 Javascript
AngularJS学习笔记之表单验证功能实例详解
Jul 06 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
Jun 24 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
Aug 08 jQuery
vue resource发送请求的几种方式
Sep 30 #Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 #Javascript
bootstrap table实现iview固定列的效果实例代码详解
Sep 30 #Javascript
JavaScript实现图片上传并预览并提交ajax
Sep 30 #Javascript
浅探express路由和中间件的实现
Sep 30 #Javascript
JavaScript实现单图片上传并预览功能
Sep 30 #Javascript
解决vue cli使用typescript后打包巨慢的问题
Sep 30 #Javascript
You might like
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
php array_map()函数实例用法
2021/03/03 PHP
javascript document.images实例
2008/05/27 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
python逆序打印各位数字的方法
2018/06/25 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
免税水晶:Duty Free Crystal
2019/05/13 全球购物
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
物业客服专员岗位职责
2013/11/30 职场文书
社会实践感言
2014/01/25 职场文书
小学生作文评语集锦
2014/12/25 职场文书
学习保证书
2015/01/17 职场文书
财务会计岗位职责
2015/02/03 职场文书
2015年采购部工作总结
2015/04/23 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android