JavaScript数据类型之Undefined、Null、Boolean
一、Undefined
1、类型说明
- undefined类型只有一个值:undefined
- 只声明未赋值的变量的值隐式的被赋值为undefined
- 也可以显式给变量赋值undefined;
var unde = undefined
- 显式和隐式的值是一样的
二、Null
1、类型说明
- null类型只有一个值:null
- null表示空对象
- 需要一个对象,而又没有满足条件的对象时适合用null
三、布尔Boolean
1、类型说明
- boolean类型有两个取值:true 和 false
2、其他类型转为布尔的两种方式
- 隐式转换:当场景需要一个布尔值时候,对应的值会被隐式的转为布尔值
- 显式转换:函数:Boolean(待转换的值)
3、转换规则
- Undefined类型:转为 false
- Null类型:转为 false
- Boolean类型:
- 值true:转为 true
- 值false:转为 false
- Number:
- 值0:转为 false
- 值NaN:转为 false
- 其他数值:转为 true
- String:
- 空字符串"":转为 false
- 其他字符串:转为 true
- Object:转为true
四、示例
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>数据类型</title><script>console.log("========undefined========");//只声明未赋值的变量的值隐式的赋值为undefinedvar unde1;console.log(unde1);//undefined//也可以显式的给变量赋值为undefinedvar unde2 = undefined;console.log(unde2);//undefined//显式和隐式赋值的值是一样的console.log(unde1 == unde2);//trueconsole.log("========null========");var nul = null;//表示该变量是一个对象,但是一个特殊的对象:空对象function giveMeOneObeject(obj) {//typeof判断值类型的一个操作符if (typeof obj == "object") {console.log("谢谢你传递的对象参数");if (obj == null) {console.log("我发现了:你给我传递的是一个不能使用的空对象");}} else {console.log("没有给我一个对象参数,我很负责任的告诉你,黎叔很生气!");}}giveMeOneObeject(nul);//giveMeOneObeject(unde1);console.log("========boolean========");var tru = true;//真var fals = false//假if (tru) {console.log("恭喜你,你满足了条件");}if (fals == false) {console.log("虽然你是false,但是你也是JavaScript中非常重要的一部分");}//undefined转为booleanvar unde = undefined;if (unde) {console.log("这里的代码要是能执行,黎叔给你表演一个徒手剥生鸡蛋");} else {console.log("当需要一个布尔值时候undefined会被隐式的转为false");var bool1 = Boolean(unde);console.log("undefined显式转换结果:" + bool1);}//null转为booleanvar nu = null;if (nu) {console.log("这里的代码要是能执行,黎叔给你表演一个生鸡蛋");} else {console.log("当需要一个布尔值时候null会被隐式的转为false");var bool2 = Boolean(nu);console.log("null显式转换结果:" + bool2);}//boolean转为booleanvar tr = Boolean(true);var fal = Boolean(false);console.log("当需要一个布尔值时候true会被隐式的转为" + tr);console.log("false:喂 兄弟,咱俩转换了一个寂寞,我就不打印了,告辞!");//number转为booleanvar num0 = 0;var nan = NaN;//非数字var numI = Infinity;//正无穷大var _numI = -Infinity;//负无穷大if (num0 || nan) {console.log("黎叔累了,黎叔歇歇");} else {console.log("当需要一个布尔值时候0和NaN会被隐式的转为false");var bool3 = Boolean(num0);console.log("0显式转换结果:" + bool3);var bool4 = Boolean(nan);console.log("NaN显式转换结果:" + bool4);}if (numI && _numI && 1 && -1) {console.log("除了0和NaN其他数值都可以被转为true");}//string转为booleanvar str1 = "";//空字符串var str2 = " ";//空格if (str1) {console.log("这里的代码要是能执行,黎叔给你表演一个生鸡蛋");} else {console.log('当需要一个布尔值时候空字符串""会被隐式的转为false');var bool5 = Boolean(str1);console.log('空字符串""显式转换结果:' + bool5);}if (str2) {console.log("除了空字符串其他字符串都可以被转为true,哪怕是一个空格");console.log("空字符串长度:" + str1.length);console.log("空格长度:" + str2.length);}</script>
</head><body></body></html>
JavaScript数据类型之Undefined、Null、Boolean相关推荐
- Undefined/Null/Boolean数据类型
Typeof 操作符 检查数据类型的操作符 类型 表示 Undefined 表示的值未定义: Null 表示的值为空 Boolean 表示的值为布尔值: String 表示的值为字符串: Number ...
- 区分JavaScript中的undefined,null和NaN
区分underfined,null和NaN 先看看下面语句的运行结果: 1: var a; 2: alert(a); //显示"undefined" 3: alert(typeof ...
- javascript中的undefined,null,,0和false的云集
在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,bool ...
- JavaScript数据类型
这篇文章主要 解决的问题 为: js的基本类型有那些?引用类型有哪些? 基本类型和引用类型有什么区别?null和undefined的区别? 哪一个存在堆上面,哪一个存在栈上面. JavaScript有 ...
- javascript 数据类型
js真是一门有趣的语言.在js的世界中,数据有两种类型. 一种是引用类型.一种是基本数据类型 引用类型: 在js的世界里,有一句话"所有的一切,都是object",那么问题来了.o ...
- JavaScript数据类型 typeof, null, 和 undefined
JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Da ...
- html js布尔值怎么定义,JavaScript基本类型值-Undefined、Null、Boolean
大致介绍 ECMAScript中有5中简单的数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String. Undefined Undefined时全局变量 ...
- JavaScript 类型判断 判断Null和Undefined
js类型判断 判断Null和Undefined javaScript中判断数据类型的方法主要有三种: **typeof:**原理是通过根据变量的机器码来判断 instanceof:根据 构造函 ...
- Javascript 中的非空判断 undefined,null, NaN的区别
JS 数据类型 在介绍这三个之间的差别之前, 先来看一下JS 的数据类型. 在 Java ,C这样的语言中, 使用一个变量之前,需要先定义这个变量并指定它的数据类型,是整型,字符串型,.... 但是 ...
- 布尔型Boolean+undefined+null(JS)
布尔型Boolean+undefined+null(JS) <!DOCTYPE html> <html lang="en"><head>< ...
最新文章
- oracle hot patch david,Oracle EBS使用adpatch工具打patch过程(hotpatch mode)
- typedef 函数指针
- 直播回顾丨拆解 LTV:增长焦虑,企业如何诊断黄金流量?
- busybox rootfs 启动脚本分析(一)
- oracle秘钥到期,Oracle – 更新加入 – 非密钥保留表
- 自定义ClassLoader
- (43)FPGA状态机三段式
- android通讯录备份恢复代码逻辑
- kinect 手势识别的原理?
- Flutter实战一Flutter聊天应用(九)
- 系统分析师论文解答方法
- ICMP数据包-实战分析
- oracle ogg操作日志,对一段Oracle GoldenGate (OGG) 传输过程日志(.rpt文件)的解释...
- 光猫接交换机,交换机下接无线路由器,电脑网线连接交换机进不去无线路由器后台是为什么?
- ONIE——开放网络安装环境
- python爬虫之帅哥图片爬取
- 长期宅在家的人都有什么比较好的室内锻炼的方法?
- 一文就懂HashMap原理!学不会你来砍我!
- 谷歌地图显示服务器错误解决方法,谷歌地图API:内部服务器错误插入功能时
- 如何不被程序员(RD)们嫌弃--写给那些血气方刚的产品经理(PM)