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 相关文章推荐
JavaScript Base64编码和解码,实现URL参数传递。
Sep 18 Javascript
Jquery乱码的一次解决过程 图解教程
Feb 20 Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
Jul 21 Javascript
Dom 学习总结以及实例的使用介绍
Apr 24 Javascript
让table变成exls的示例代码
Mar 24 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
jQuery $.extend()用法总结
Jun 15 Javascript
Vue.js实现一个todo-list的上移下移删除功能
Jun 26 Javascript
vue实现标签云效果的方法详解
Aug 28 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
vue-i18n实现中英文切换的方法
Jul 06 Javascript
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
php中目录,文件操作详谈
2007/03/19 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
JavaScript类库D
2010/10/24 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
禁止按回车键提交表单的方法
2015/06/11 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
浅谈python中的占位符
2017/11/09 Python
Python编写一个优美的下载器
2018/04/15 Python
python numpy 反转 reverse示例
2019/12/04 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
Servlet面试题库
2015/07/18 面试题
在校生党员自我评价
2013/09/25 职场文书
实习单位鉴定评语
2014/04/26 职场文书
公司委托书格式
2014/08/01 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
小学音乐课教学反思
2016/02/18 职场文书