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 学习笔记(onchange等)
Nov 14 Javascript
Extjs4 GridPanel 的几种样式使用介绍
Apr 18 Javascript
javascript中Array()数组函数详解
Aug 23 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
Aug 25 Javascript
JQuery 的跨域方法推荐_可跨任何网站
May 18 Javascript
JS去除重复并统计数量的实现方法
Dec 15 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
AngularJS自定义指令之复制指令实现方法
May 18 Javascript
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
layui 解决富文本框form表单提交为空的问题
Oct 26 Javascript
uniapp实现横向滚动选择日期
Oct 21 Javascript
Js利用正则表达式去除字符串的中括号
Nov 23 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
PHP 批量删除 sql语句
2009/06/05 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
php 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
JavaScript实现的九种排序算法
2019/03/04 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
使用python统计文件行数示例分享
2014/02/21 Python
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
Python列表如何更新值
2020/05/27 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
计算机专业大学生的自我评价
2013/11/14 职场文书
物流管理专业职业生涯规划书
2014/01/06 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技