Undefined 类型

Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对其进行初始化时,这个变量的值就是undefined,例如:

var message;
console.log(message); //undefinedvar message = undefined;
console.log(message); //undefined

在这个例子的第一段中,只声明了变量message,但未对其进行初始化。所以在控制台输出时会得到一个undefined。而第二段代码中我们使用了undefined值显示的初始化了message变量,得到的结果仍然是undefined。但实际上我们没必要这么做的,因为就像第一段代码中,只要是未经初始化的变量默认都会取值undefined。

一般而言,不存在需要显示地把一个变量设置为undefined值的情况。字面值undefined的主要目的是用于比较。不过包含undefined值的变量和尚未定义的变量还是不一样的。看看下面这个例子:

var message; //这个变量声明但未初始化,取得默认值undefined
//var age; //这个变量我们把它注释掉,所以就相当于并没有声明console.log(message);// undefined
console.log(age); // 报错 age没有被定义

运行上面的代码,第一个console会打印输出undefined,而第二个console则会产生错误,因为变量age根本就没有声明。对于尚未声明过的变量,只能执行一项操作,就是用typeof检查数据类型,这个时候是不会报错的。

然而,令人困惑的是:对于已经声明但未初始化的变量执行typeof操作会返回undefined值,而对尚未声明的变量执行typeof操作,结果同样返回undefined的值,看下面的例子:

var message; //声明变量但未初始化
//var age; //未声明的变量console.log(typeof message); //undefined
console.log(typeof age); //undefined

结果表明:对于声明未初始化和未声明的变量执行typeof操作都返回了undefined值;其实这个结果也有其逻辑上的合理性,因为虽然这两种变量从技术角度看有着本质的区别,但是实际上无论对哪种变量都不可能执行真正的操作。

tips:

即便未初始化的变量会自动被赋予undefined值,但显示的初始化变量依然是明智的选择,也是墙裂推荐的选择。因为如果能够做到这一点,那么当typeof操作符返回undefined值时,我们就知道被检测的变量还没有被定义,而不是尚未初始化。

JavaScript数据类型 - Undefined类型相关推荐

  1. JavaScript数据类型 - String类型

    String类型 String类型用于表示由0或多个16位Unicode字符组成的 字符序列,即字符串.字符串可以由双引号"或单引号'表示,因此以下两种字符串写法都是正确的: var str ...

  2. JavaScript数据类型 - Boolean类型

    Boolean类型 Boolean类型是JavaScript中使用的最多的一种类型,该类型只有两个字面值:true和false.这两个值与数字值不是一回事,因此true不一定等于1,而false也不一 ...

  3. JavaScript数据类型 - Null类型

    Null类型 Null 类型是第二个只有一个值的数据类型,这个特殊的值就是null.从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof检测null值时返回object的原因,如下 ...

  4. 前端 javascript 数据类型 布尔类型

    python 是大写 True javascript 是小写 true false 也是 布尔类型仅包含真假,与Python不同的是其首字母小写. ==      比较值相等 !=       不等于 ...

  5. 2.3、JavaScript 数据类型 - 数字类型

    在 JavaScript 中,数字有两种类型: (1)常规数字类型,以 64 位的格式 IEEE-754 存储,也被称为"双精度浮点数".这也是我们绝大多数时候使用的数字. (2) ...

  6. JavaScript数据类型 - Object类型

    创建对象一 ECMAScript中的对象其实就是一组数据和功能的集合.对象可以通过执行new操作符后跟要创建的对象类型的名称来创建.而创建Object类型的实例并为其添加属性和方法,就可以创建自定义对 ...

  7. JavaScript筑基篇(二)-JavaScript数据类型

    说明 介绍JavaScript数据类型 目录 前言 参考来源 前置技术要求 JavaScript的6种数据类型 哪6种数据类型 undefined 类型 null 类型 boolean 类型 numb ...

  8. javascript 数据类型与类型转换

    JavaScript 数据类型 值类型(基本类型): 字符串(String) 数字(Number) 布尔(Boolean) 空(Null) 未定义(Undefined) Symbol 注:Symbol ...

  9. JavaScript数据类型 typeof, null, 和 undefined

    JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Da ...

  10. Javascript数据类型:变量与数据类型 数字型Number 字符串型String 布尔型Boolean Undefined和Null 检测变量typeof 数据类型转换 标识符 关键字 保留字

    数据类型 一.数据类型意义 二.变量与数据类型 三.简单数据类型 1.数字型 Number 2.字符串型 String 3.布尔型 Boolean 4.未定义数据类型 Undefined 5.空值 N ...

最新文章

  1. SQL SERVER 2005 中的CTE
  2. 微软自夸Edge浏览器的电源效率
  3. PyTorch框架学习一——PyTorch的安装(CPU版本)
  4. tensorflowgpu利用率为0_直流电压利用率的提高方法-梯形波调制法
  5. 快进键启动,一文带你了解云原生时代容器安全
  6. 快捷键_AutoCAD 2021中的默认快捷键、新建或编辑快捷键
  7. python学习手册笔记
  8. 【实战项目惜时App项目总结分析】Vue-cli3+Vant UI+Vue-element-admin+Egg.js+Mysql
  9. [VOT14](2022CVPR)CSWinTT: Transformer Tracking with Cyclic Shifting Window Attention
  10. H5外部浏览器唤起微信分享
  11. Array与ArrayList有什么区别
  12. Btspread Search Assistant的开发过程
  13. 题解:线性规划与网络流24题 T2 太空飞行计划问题
  14. 如何学好高中数学学习方法,这四步很重要
  15. Monkey patch
  16. 【报错篇】singularmatrix报错:解决方案
  17. 时间处理相关类(Calendar,Instant,LocalDate,LocalTime,LocalDateTime)
  18. Restlet官方指南
  19. 笔记本卡顿不流畅是什么原因_电脑卡顿不流畅的原因以及解决方法
  20. 兰州大学计算机专业复试流程,兰大计算机复试相关事宜

热门文章

  1. pythonppt生成替换_python生成ppt的方法
  2. 2021年最值得推荐的29个开源软件,想提升自己的程序员赶快收藏
  3. 5G与人工智能有什么关系?
  4. js实现html转图片保存
  5. chmod 权限详细解析(rw)
  6. 我模仿了一个自助装机的页面,可是有一个功能一直实现不了。请求高手帮我看看。
  7. 走迷宫小游戏课设(C语言)
  8. 关于WPF你应该知道的2000件事
  9. AT学习报告一 软件的初步使用
  10. Pwn level题目