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 相关文章推荐
event对象的方法 兼容多浏览器
Jun 27 Javascript
扩展javascript的Date方法实现代码(prototype)
Nov 20 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
Nov 04 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
Nov 13 Javascript
使用jQuery实现购物车结算功能
Aug 15 jQuery
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
JS实现简单表格排序操作示例
Oct 07 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
Jul 23 Javascript
[jQuery] 事件和动画详解
Mar 05 jQuery
VUE中使用HTTP库Axios方法详解
Feb 05 Javascript
浅谈JS的二进制家族
May 09 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
javascript  Error 对象 错误处理
2008/05/18 Javascript
javascript getElementsByName()的用法说明
2009/07/31 Javascript
Javascript 中介者模式实例
2009/12/16 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
车工岗位职责
2013/11/26 职场文书
考试不及格检讨书
2014/01/09 职场文书
珍珠奶茶店创业计划书
2014/01/11 职场文书
公司拓展活动方案
2014/02/13 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python