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 相关文章推荐
JS日历 推荐
Dec 03 Javascript
js CSS操作方法集合
Oct 31 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 Javascript
script标签属性type与language使用选择
Dec 02 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
Feb 25 Javascript
Jquery选择子控件"大于号"和" "区别介绍及使用示例
Jun 25 Javascript
javascript 10进制和62进制的相互转换
Jul 31 Javascript
容易造成JavaScript内存泄露几个方面
Sep 04 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
Javascript将JSON日期格式化
Aug 23 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
Dec 07 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
Apr 13 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安装问题
2006/10/09 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
CI框架常用函数封装实例
2016/11/21 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
JavaScript 原型继承
2011/12/26 Javascript
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
理解JS事件循环
2016/01/07 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
vue之nextTick全面解析
2017/05/17 Javascript
使用yeoman构建angular应用的方法
2017/08/14 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
Python简单计算文件夹大小的方法
2015/07/14 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
《都江堰》教学反思
2014/02/07 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
岗位说明书怎么写
2014/07/30 职场文书
植物生产学专业求职信
2014/08/08 职场文书
2019同学聚会主持词
2019/05/06 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android