undefined 是 Undefined 类型的唯一值,它表示未定义的值。当声明变量未赋值时,或者定义属性未设置值时,默认值都为 undefined。

示例1

undefined 派生自 null,null 和 undefined 都表示空缺的值,转化为布尔值时都是假值,可以相等。

  1. console.log(null == undefined); //返回 true

null 和 undefined 属于两种不同类型,使用全等运算符(==)或 typeof 运算符可以进行检测。

  1. console.log(null === undefined); //false
  2. console.log(typeof null); //返回"object"
  3. console.log(typeof undefined); //返回"undefined"

示例2

检测一个变量是否初始化,可以使用 undefined 快速检测。

  1. var a; //声明变量
  2. console.log(a); //返回变量默认值为 undefined
  3. (a == undefined) && (a = 0); //检测变量是否初始化,否则为其赋值
  4. console.log(a); //返回初始值 0

也可以使用 typeof 运算符检测变量的类型是否为 undefined。

  1. (typeof a == "undefined") && (a = 0); //检测变量是否初始化,否则为其赋值

示例3

在下面代码中,声明了变量 a,但没有声明变量 b,然后使用 typeof 运算符检测它们的类型,返回的值都是字符串 “undefined”。说明不管是声明的变量,还是未声明的变量,都可以通过 typeof 运算符检测变量是否初始化。

  1. var a;
  2. console.log(typeof a); //返回"undefined”
  3. console.log(typeof b); //返回"undefined"

对于未声明的变量 b 来说,如果直接在表达式中使用,会引发异常。

  1. console.log(b == undefined); //提75未定义的错误信息

示例4

对于函数来说,如果没有明确的返回值,则默认返回值也为

  1. function f(){}
  2. console.log(f()); //返回"undefined"

undefined 隐含着意外的空值,而 null 隐含着意料之中的空值。因此,设置一个变量、参数为空值时,建议使用 null,而不是 undefined。

JS Undefined类型相关推荐

  1. 第一记: JS变量类型判断(VUE源码解读)

    学习摘要 : 以前总是对js变量类型的判断模糊不清楚,今天看到vue源码后才恍然大悟原来大神都是这样弄的,所以加以总结,写的不好的请大神们多多吐槽吐槽!!!!!! Vue 源码 /* 获取值的原始类型 ...

  2. Flow - JS静态类型检查工具

    本章的目标是提供一些Flow工具的介绍与使用建议.Flow本质上也只是个检查工具,它并不会自动修正代码中的错误,也不会强制说你没按照它的警告消息修正,就不会让你运行程序.当然,并没有要求什么时候一定要 ...

  3. 怎么去判断 js 的类型

    在开发过程中,怎么去判断 js 的类型呢?又或者说你知道有哪些类型?今天来梳理一下js的类型,然后去判断这些类型属于什么!!! 1.首先用最基本的方法去判断js类型 2.使用 3.撒花,完结!!(如有 ...

  4. Null和Undefined类型

    Null和Undefined类型都只有唯一的特殊值,即null和undefined.不过null是关键字而undefined不是. JavaScript把两者定义为相等的,如下代码可以验证: aler ...

  5. js布尔类型+数字判断_C ++中的布尔数据类型

    js布尔类型+数字判断 In this article, we'll take a look at the Bool datatype in C++. 在本文中,我们将介绍C ++中的Bool数据类型 ...

  6. JS undefined报错

    JS undefined报错 查看:onclick的调用者未找到 原因:调用该方法的变量的值为null,即节点未找到 解决:在引用此变量的前文对此变量进行定义并赋值,不可以在后面定义并赋值,js是从上 ...

  7. html 签到功能,从一个签到功能(日历)到 js Date 类型的全了解

    最近工做工做遇到一个签到功能,网上找了不少日历插件,发现都不是很适合,或者说不能很好的实现产品的需求,结果仍是本身撸了一个,撸的过程也是对js Date 类型从新学习了一遍,对 Date 类型的方法也 ...

  8. js Date 类型 的取值、计算、格式化 与 moment.js

    js Date 类型 的取值.计算.格式化 与 moment.js 前言 笔者工作多年,作为一个爱思考的程序员,一直在想一个问题:究竟怎样才可以让自己变的更强.. 对不起各位,说的太中二了,让我们重新 ...

  9. JavaScript(二)undefined类型、null类型

    1.概述 1.undefined类型 undefined在声明变量但未对其加以初始化时,这个变量的值就是undefined. 字面量undefined的主要目的是用于比较. 包含undefined值的 ...

最新文章

  1. 看完 50000 张专辑封面,AI 设计师开始疯狂输出
  2. SaaS项目管理软件有什么用?
  3. 分布式服务框架 dubbo/dubbox 入门示例(转)
  4. 记录一次OOM分析过程
  5. 【教程】利用libsvm-mat建立分类模型model参数解密【by faruto】
  6. UA MATH523A 实分析3 积分理论例题 控制收敛定理计算一元积分的极限
  7. Qt学习笔记之常用控件QTreeWidget
  8. c语言编手机蓝牙软件的代码,51单片机C语言的简易蓝牙锁代码
  9. 5G通信的一些关键技术
  10. 【英语学习】【WOTD】imbroglio 释义/词源/示例
  11. 面试官问你如何解决web高并发这样回答就好了
  12. 命令行,使用java的java 命令,直接调用执行class文件
  13. 「leetcode」406.根据身高重建队列【贪心算法】详细图解
  14. 图计算:社区发现算法
  15. 数据挖掘(一)-探索性数据分析
  16. EasyConnect 安装使用教程 Windows
  17. 记一次连接数据库报错The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zo
  18. 关于IPHONE4跑流量问题解决方法:
  19. Altium Designer绘制stm32电路原理图
  20. Django学习 day74之BBS项目day3

热门文章

  1. 最新程序员冷段子,戳到你痛处了吗?
  2. 疯狂python讲义课后题答案_疯狂Python讲义
  3. 产业园以商招商实施方案
  4. 一加3T viper4android,哈曼卡顿Cortana智能音箱外观/内部规格全曝光
  5. 微软 Win11 22H2 (KB5017321) 更新失败并显示下载错误 0x800F0806,修复方法来了
  6. 【Springboot学习笔记】SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法
  7. 英文期刊名中常见的单词缩写 (个人整理不全面),后续还会整理。。。。
  8. 小波变换图像去噪matlab,基于小波变换的MATLAB汽车图像去噪
  9. 海康Ehome协议接入EasyCVR视频融合平台播放视频失败的排查与解决
  10. 单片机测量NTC热敏电阻温度的方法(含程序代码)