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中数组和字符串的lastIndexOf()方法使用
Mar 13 Javascript
如何用JavaScript实现动态修改CSS样式表
May 20 Javascript
JavaScript中this的用法实例分析
Dec 19 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
微信小程序 传值取值的几种方法总结
Jan 16 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
Dec 06 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
Jan 30 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
Apr 30 Javascript
浅谈对于react-thunk中间件的简单理解
May 01 Javascript
详解如何在vue项目中使用layui框架及采坑
May 05 Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 29 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
php计算税后工资的方法
2015/07/28 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
PHP 布尔值的自增与自减的实现方法
2018/05/03 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
JS动画效果代码3
2008/04/03 Javascript
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
2014/04/16 Javascript
JSON格式化输出
2014/11/10 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
js实现聊天对话框
2020/02/08 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
python如何编写win程序
2020/06/08 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
施工安全生产承诺书
2014/05/23 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
公司新人试用期自我评价
2014/09/17 职场文书