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 相关文章推荐
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
Jan 15 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 Javascript
node在两个div之间移动,用ztree实现
Mar 06 Javascript
JS实现局部选择打印和局部不选择打印
Apr 03 Javascript
node.js中的fs.chownSync方法使用说明
Dec 16 Javascript
JavaScript获取当前网页标题(title)的方法
Apr 03 Javascript
浅析Node.js实现HTTP文件下载
Aug 05 Javascript
Bootstrap 模态框实例插件案例分析
Dec 28 Javascript
解析ajaxFileUpload 异步上传文件简单使用
Dec 30 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
May 24 Javascript
Vue将页面导出为图片或者PDF
Aug 17 Javascript
构建一个JavaScript插件系统
Oct 20 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设计模式 php实现合成模式(composite)
2015/12/08 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2021/03/09 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
jquery select2的使用心得(推荐)
2016/12/04 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
python设置检查点简单实现代码
2014/07/01 Python
python编程嵌套函数实例代码
2018/02/11 Python
python plotly画柱状图代码实例
2019/12/13 Python
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
移动通信专业自荐信范文
2013/11/12 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
创业融资计划书
2014/04/25 职场文书
四风对照检查材料范文
2014/09/27 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
婚庆答谢词
2015/01/04 职场文书
老龙头导游词
2015/02/11 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android