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 相关文章推荐
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
关于COOKIE个数与大小的问题
Jan 17 Javascript
jQuery 事件的命名空间简单了解
Nov 22 Javascript
Window.Open打开窗体和if嵌套代码
Apr 15 Javascript
xmlplus组件设计系列之列表(4)
Apr 26 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
Js经典案例的实例代码
May 10 Javascript
深入解读Node.js中的koa源码
Jun 17 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
PHP 断点续传实例详解
2017/11/11 PHP
PHP实现验证码校验功能
2017/11/16 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
js 自定义的联动下拉框
2010/02/07 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
JS前端加密算法示例
2016/12/22 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
js继承的这6种方式!(上)
2019/04/23 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
vue实现弹幕功能
2019/10/25 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
python判断字符串是否纯数字的方法
2014/11/19 Python
CentOS6.5设置Django开发环境
2016/10/13 Python
Python实现的自定义多线程多进程类示例
2018/03/23 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
python3中rank函数的用法
2019/11/27 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
幼儿园新年寄语
2014/04/03 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
maven依赖的version声明控制方式
2022/01/18 Java/Android
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers