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实现鼠标点击文本框显示隐藏提示文本
Feb 23 Javascript
javascript实现控制文字大中小显示
Apr 28 Javascript
web前端开发JQuery常用实例代码片段(50个)
Aug 28 Javascript
Jquery常用的方法汇总
Sep 01 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
Oct 10 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
Apr 14 Javascript
vue中element 上传功能的实现思路
Jul 06 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
JavaScript函数IIFE使用详解
Oct 21 Javascript
js实现点赞按钮功能的实例代码
Mar 06 Javascript
JQuery使用数组遍历跳出each循环
Sep 01 jQuery
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
Nov 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根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
为javascript添加String.Format方法
2020/08/11 Javascript
javascript数组的使用
2013/03/28 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
东方红海科技面试题软件测试方面
2012/02/08 面试题
中文系学生自荐信范文
2013/11/13 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
工伤事故赔偿协议书
2014/10/27 职场文书
从np.random.normal()到正态分布的拟合操作
2021/06/02 Python
python中filter,map,reduce的作用
2022/06/10 Python