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. 12306新版上线 还是不能选上下铺
  2. ai怎么画循环曲线_AI插画设计,用AI制作一个只可爱的短腿柯基插画
  3. gradle下载的依赖包位置 及 修改
  4. 深度学习之keras (一) 初探
  5. python画正方体_python绘制立方体的方法
  6. 泰坦尼克号数据_kaggle泰坦尼克号之Python手把手数据分析
  7. 文件完整性的检测与监控
  8. 对 “悟空拼音”学习软件的教学过程优化分析
  9. 做移动视频直播应用的思路
  10. C语言中的文件操作(二)
  11. matlab作业 阳光的快乐老爹,霍思燕6岁儿子近照曝光,调皮起来超阳光,完美继承老爹容颜!...
  12. 【补作业】msp430单片机(一)控制LED灯的亮灭
  13. Linux SWAP 交换分区配置说明(转)
  14. 微信小程中文特殊字符编码与解码
  15. Android Studio 实现单选对话框
  16. 《抽样技术》期末复习
  17. “六顶思考帽”给我的启示
  18. 获取IronSource的广告源Pod和Maven版本
  19. OpenCV-Python相机标定
  20. 三两行代码实现进程防杀,免驱动,IceSword,WSysCheck等无效.

热门文章

  1. (华为)安卓神器Xposed框架无ROOT激活指南
  2. 我们应该为了爱,还是为了钱而找工作?
  3. 嵌入式行业那些坑与出路
  4. 菜鸟先飞之初识Hive、安装教程及常见问题
  5. 4g+uim卡是什么卡_uim卡是什么 sim卡槽能不能用uim卡
  6. 12.13 Daily Scrum
  7. Java在渔业领城的应用_RFID与J2EE技术在渔船管理系统中的应用研究
  8. 爬取影评来分析电影《鹰猎长空》评论是如何的
  9. 关于影印版与翻译版的对比
  10. 长安大学c语言指针实验报告,长安大学FPGA设计与运用实验报告.doc