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项链效果
Feb 13 Javascript
分析Node.js connect ECONNREFUSED错误
Apr 09 Javascript
在javascript中对于DOM的加强
Apr 11 Javascript
Javascript实现Web颜色值转换
Feb 05 Javascript
JS实现网站菜单拖拽移位效果的方法
Sep 24 Javascript
JavaScript实现身份证验证代码
Feb 17 Javascript
Node.js批量给图片加水印的方法
Nov 15 Javascript
脚本div实现拖放功能(两种)
Feb 13 Javascript
3分钟掌握常用的JS操作JSON方法总结
Apr 25 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
React Router V4使用指南(精讲)
Sep 17 Javascript
ES2020让代码更优美的运算符 (?.) (??)
Jan 04 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分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
Python饼状图的绘制实例
2019/01/15 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
python list多级排序知识点总结
2019/10/23 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
如何学习Python time模块
2020/06/03 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
Django权限控制的使用
2021/01/07 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
师范生自我鉴定
2014/03/20 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android