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 相关文章推荐
Jquery知识点二 jquery下对数组的操作
Jan 15 Javascript
基于JQuery 滑动与动画的说明介绍
Apr 18 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
jquery实现的3D旋转木马特效代码分享
Aug 25 Javascript
Ajax与服务器(JSON)通信实例代码
Nov 05 Javascript
jQuery实现圣诞节礼物动画案例解析
Dec 25 Javascript
微信小程序之蓝牙的链接
Sep 26 Javascript
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
详解vue-cli+es6引入es5写的js(两种方法)
Apr 19 Javascript
浅谈Vue.set实际上是什么
Oct 17 Javascript
vue props 单项数据流实例分享
Feb 16 Javascript
二维码条形码生成的JavaScript脚本库
Jul 07 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
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
php商品对比功能代码分享
2015/09/24 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
AngularJS表单验证功能
2017/10/19 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
原生JS实现留言板
2020/03/26 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
Python 类的继承实例详解
2017/03/25 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
python 消费 kafka 数据教程
2019/12/21 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
python对execl 处理操作代码
2020/06/22 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
党支部公开承诺践诺书
2014/03/28 职场文书
个人银行贷款担保书
2014/04/01 职场文书
请假条的格式
2014/04/11 职场文书
电视节目策划方案
2014/05/16 职场文书
2014年党支部学习材料
2014/05/19 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
python 逐步回归算法
2021/04/06 Python
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL