JavaScript数据类型 - Undefined类型
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类型相关推荐
- JavaScript数据类型 - String类型
String类型 String类型用于表示由0或多个16位Unicode字符组成的 字符序列,即字符串.字符串可以由双引号"或单引号'表示,因此以下两种字符串写法都是正确的: var str ...
- JavaScript数据类型 - Boolean类型
Boolean类型 Boolean类型是JavaScript中使用的最多的一种类型,该类型只有两个字面值:true和false.这两个值与数字值不是一回事,因此true不一定等于1,而false也不一 ...
- JavaScript数据类型 - Null类型
Null类型 Null 类型是第二个只有一个值的数据类型,这个特殊的值就是null.从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof检测null值时返回object的原因,如下 ...
- 前端 javascript 数据类型 布尔类型
python 是大写 True javascript 是小写 true false 也是 布尔类型仅包含真假,与Python不同的是其首字母小写. == 比较值相等 != 不等于 ...
- 2.3、JavaScript 数据类型 - 数字类型
在 JavaScript 中,数字有两种类型: (1)常规数字类型,以 64 位的格式 IEEE-754 存储,也被称为"双精度浮点数".这也是我们绝大多数时候使用的数字. (2) ...
- JavaScript数据类型 - Object类型
创建对象一 ECMAScript中的对象其实就是一组数据和功能的集合.对象可以通过执行new操作符后跟要创建的对象类型的名称来创建.而创建Object类型的实例并为其添加属性和方法,就可以创建自定义对 ...
- JavaScript筑基篇(二)-JavaScript数据类型
说明 介绍JavaScript数据类型 目录 前言 参考来源 前置技术要求 JavaScript的6种数据类型 哪6种数据类型 undefined 类型 null 类型 boolean 类型 numb ...
- javascript 数据类型与类型转换
JavaScript 数据类型 值类型(基本类型): 字符串(String) 数字(Number) 布尔(Boolean) 空(Null) 未定义(Undefined) Symbol 注:Symbol ...
- JavaScript数据类型 typeof, null, 和 undefined
JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Da ...
- Javascript数据类型:变量与数据类型 数字型Number 字符串型String 布尔型Boolean Undefined和Null 检测变量typeof 数据类型转换 标识符 关键字 保留字
数据类型 一.数据类型意义 二.变量与数据类型 三.简单数据类型 1.数字型 Number 2.字符串型 String 3.布尔型 Boolean 4.未定义数据类型 Undefined 5.空值 N ...
最新文章
- SQL SERVER 2005 中的CTE
- 微软自夸Edge浏览器的电源效率
- PyTorch框架学习一——PyTorch的安装(CPU版本)
- tensorflowgpu利用率为0_直流电压利用率的提高方法-梯形波调制法
- 快进键启动,一文带你了解云原生时代容器安全
- 快捷键_AutoCAD 2021中的默认快捷键、新建或编辑快捷键
- python学习手册笔记
- 【实战项目惜时App项目总结分析】Vue-cli3+Vant UI+Vue-element-admin+Egg.js+Mysql
- [VOT14](2022CVPR)CSWinTT: Transformer Tracking with Cyclic Shifting Window Attention
- H5外部浏览器唤起微信分享
- Array与ArrayList有什么区别
- Btspread Search Assistant的开发过程
- 题解:线性规划与网络流24题 T2 太空飞行计划问题
- 如何学好高中数学学习方法,这四步很重要
- Monkey patch
- 【报错篇】singularmatrix报错:解决方案
- 时间处理相关类(Calendar,Instant,LocalDate,LocalTime,LocalDateTime)
- Restlet官方指南
- 笔记本卡顿不流畅是什么原因_电脑卡顿不流畅的原因以及解决方法
- 兰州大学计算机专业复试流程,兰大计算机复试相关事宜