IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript数据类型之Undefined、Null、Boolean -> 正文阅读

[JavaScript知识库]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========");
        //只声明未赋值的变量的值隐式的赋值为undefined
        var unde1;
        console.log(unde1);//undefined
        //也可以显式的给变量赋值为undefined
        var unde2 = undefined;
        console.log(unde2);//undefined
        //显式和隐式赋值的值是一样的
        console.log(unde1 == unde2);//true
        console.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转为boolean
        var unde = undefined;
        if (unde) {
            console.log("这里的代码要是能执行,黎叔给你表演一个徒手剥生鸡蛋");
        } else {
            console.log("当需要一个布尔值时候undefined会被隐式的转为false");
            var bool1 = Boolean(unde);
            console.log("undefined显式转换结果:" + bool1);
        }
        //null转为boolean
        var nu = null;
        if (nu) {
            console.log("这里的代码要是能执行,黎叔给你表演一个生鸡蛋");
        } else {
            console.log("当需要一个布尔值时候null会被隐式的转为false");
            var bool2 = Boolean(nu);
            console.log("null显式转换结果:" + bool2);
        }
        //boolean转为boolean
        var tr = Boolean(true);
        var fal = Boolean(false);
        console.log("当需要一个布尔值时候true会被隐式的转为" + tr);
        console.log("false:喂 兄弟,咱俩转换了一个寂寞,我就不打印了,告辞!");
        //number转为boolean
        var 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转为boolean
        var 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知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:46:34  更:2021-11-26 08:48:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:34:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码