一、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相关推荐

  1. Undefined/Null/Boolean数据类型

    Typeof 操作符 检查数据类型的操作符 类型 表示 Undefined 表示的值未定义: Null 表示的值为空 Boolean 表示的值为布尔值: String 表示的值为字符串: Number ...

  2. 区分JavaScript中的undefined,null和NaN

    区分underfined,null和NaN 先看看下面语句的运行结果: 1: var a; 2: alert(a); //显示"undefined" 3: alert(typeof ...

  3. javascript中的undefined,null,,0和false的云集

    在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,bool ...

  4. JavaScript数据类型

    这篇文章主要 解决的问题 为: js的基本类型有那些?引用类型有哪些? 基本类型和引用类型有什么区别?null和undefined的区别? 哪一个存在堆上面,哪一个存在栈上面. JavaScript有 ...

  5. javascript 数据类型

    js真是一门有趣的语言.在js的世界中,数据有两种类型. 一种是引用类型.一种是基本数据类型 引用类型: 在js的世界里,有一句话"所有的一切,都是object",那么问题来了.o ...

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

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

  7. html js布尔值怎么定义,JavaScript基本类型值-Undefined、Null、Boolean

    大致介绍 ECMAScript中有5中简单的数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String. Undefined Undefined时全局变量 ...

  8. JavaScript 类型判断 判断Null和Undefined

    js类型判断 判断Null和Undefined javaScript中判断数据类型的方法主要有三种: ​ **typeof:**原理是通过根据变量的机器码来判断 ​ instanceof:根据 构造函 ...

  9. Javascript 中的非空判断 undefined,null, NaN的区别

    JS 数据类型 在介绍这三个之间的差别之前, 先来看一下JS  的数据类型. 在 Java ,C这样的语言中, 使用一个变量之前,需要先定义这个变量并指定它的数据类型,是整型,字符串型,.... 但是 ...

  10. 布尔型Boolean+undefined+null(JS)

    布尔型Boolean+undefined+null(JS) <!DOCTYPE html> <html lang="en"><head>< ...

最新文章

  1. oracle hot patch david,Oracle EBS使用adpatch工具打patch过程(hotpatch mode)
  2. typedef 函数指针
  3. 直播回顾丨拆解 LTV:增长焦虑,企业如何诊断黄金流量?
  4. busybox rootfs 启动脚本分析(一)
  5. oracle秘钥到期,Oracle – 更新加入 – 非密钥保留表
  6. 自定义ClassLoader
  7. (43)FPGA状态机三段式
  8. android通讯录备份恢复代码逻辑
  9. kinect 手势识别的原理?
  10. Flutter实战一Flutter聊天应用(九)
  11. 系统分析师论文解答方法
  12. ICMP数据包-实战分析
  13. oracle ogg操作日志,对一段Oracle GoldenGate (OGG) 传输过程日志(.rpt文件)的解释...
  14. 光猫接交换机,交换机下接无线路由器,电脑网线连接交换机进不去无线路由器后台是为什么?
  15. ONIE——开放网络安装环境
  16. python爬虫之帅哥图片爬取
  17. 长期宅在家的人都有什么比较好的室内锻炼的方法?
  18. 一文就懂HashMap原理!学不会你来砍我!
  19. 谷歌地图显示服务器错误解决方法,谷歌地图API:内部服务器错误插入功能时
  20. 如何不被程序员(RD)们嫌弃--写给那些血气方刚的产品经理(PM)

热门文章

  1. 命令行批量修改IP并ping测试
  2. webservice系列1---基于web工程上写一个基本数据类型的webservice
  3. 面试技巧(一)〔参加笔试、面试的技巧〕
  4. nginx相关概念——正向代理和反向代理
  5. Xshell7连接VMware15虚拟机上的Ubuntu详细步骤
  6. Security+ 学习笔记5 常见的网络攻击
  7. Leetcode 刷题笔记(二十七) ——动态规划篇之买股票问题(一)
  8. 杭电计算机14年笔试真题
  9. SO(Service Oriented)的四个原则
  10. day20 python常用模块