基本数据类型之undefined和null

undefined是表示未找到,是变量没有正确赋值数据时,生成的数据类型

var int ; console.log(int)//undefined

null 是空表示赋值存储的数据,是一个空数据,是一种特殊的数据类型 给变量直接赋值null注意英文字母必须小写

var res = null;console.log(res) //null

null 是一种数值,表示空的数值

undefined是没有被正确赋值

  在JavaScript中,没有定义变量存储数据类型的种类,一个变量中可以存储任意的数据类型
            var int = 100;  存储整数类型
            int = '北京';   存储字符串类型
            int = true;     存储布尔类型
            因为JavaScript中不限制变量存储数据的数据类型,因此一个变量可以存储任意的数据类型
        但是在JavaScript中,执行程序时,有时需要指定的数据类型参与程序的执行
        其他数据类型,原则上,不允许参与程序的执行
        此时就需要将变量中的数据类型,转化为指定的数据类型
        举例:
            例如我们现在的银行账户中存储的都是 人民币 
            但是你要出国,去了 美国 , 消费时,必须使用 美元
            你要是超过,去了 欧洲 , 消费时,必须使用 欧元
            总之,你去哪儿,就要兑换成当地的 币种
            就好像我们在某个程序执行时,必须要将变量中存储的数据,转换为指定的数据类型
        在计算机语言中,数据类型的转化,分为两种形式
            自动转换 : 计算机程序执行时,自动完成的转化
                      有的银联卡,你存储的是人民币,当你要消费美金时
                      会自动将人民币转化为美金来进行结算
                      这个转化是银行自动完成的,不需要我们人为参与
            强制转化 : 程序员人为的将数据类型转化为指定的数据类型
                       我们拿着钱,去银行柜台,兑换成我们指定的币种
 // 其他数据类型,自动转化为布尔类型
        // 在 if 判断语句执行时,其他数据类型会自动转化为布尔类型
        // 因为 在 if 语句中 ( ) 中 理论上只接受布尔类型数值 true 或者 false
        // 如果输入了其他数据类型数据,会自动转化为布尔类型数据  true 或者 false
        // 例如   if(true或者false) 可以执行
        // 如果写 if('北京')   if('上海')  if(100)  不是类型类型的数据
        // 一定会先自动转化为布尔类型的数值,再去进行相应程序的执行
        // 其他数据类型转化为布尔类型的原则
        // 转化为false的情况 :  数值 0    空字符串 ''   undefined   null   NaN
        // 其他情况都转化为true
        // 特别注意: 0.0  0.000000 等 在转化为布尔类型时,都视为 数值 0 
   if( true / false){
                // 如果()中是true,执行第一个{}中的语句
                console.log('小括号里面写的是true');
            }else{
                // 如果()中是false,执行else后第二个{}中的语句
                console.log('小括号里面写的是false');
            }
        // if()中应该写 true 或者 false
        // 如果写其他数据类型
        // 会自动转化为 true 或者 false
        // 转化为 true 的执行 第一个{}中的程序代码
        // 转化为 false 的执行 else后{}中的程序代码
        if(0){
            console.log('转化为true');
        }else{
            // 执行输出这行代码,证明 0 转化为的是 false
            console.log('转化为false'); 
        }
        // 空字符串
        if(''){
            console.log('转化为true');
        }else{
            // 执行输出这行代码,证明 ''空字符串 转化为的是 false
            console.log('转化为false'); 
        }
        // undefined
        if(undefined){
            console.log('转化为true');
        }else{
            // 执行输出这行代码,证明 undefined 转化为的是 false
            console.log('转化为false'); 
        }
        // null
        if(null){
            console.log('转化为true');
        }else{
            // 执行输出这行代码,证明 null 转化为的是 false
            console.log('转化为false'); 
        }
        // NaN
        if(NaN){
            console.log('转化为true');
        }else{
            // 执行输出这行代码,证明 NaN 转化为的是 false
            console.log('转化为false'); 
        }
        // 0.000000
        if(0.000000){
            console.log('转化为true');
        }else{
            // 执行输出这行代码,证明 0.000000 转化为的是 false
            console.log('转化为false'); 
        }
        // 字符串 空格
        if(' '){
            // 执行输出这行代码,证明 ' '字符串空格  转化为的是 true
            console.log('转化为true');
        }else{
            console.log('转化为false'); 
        }
        // 数值 -1 
        if(-1){
            // 执行输出这行代码,证明 -1 转化为的是 true
            console.log('转化为true');
        }else{
            console.log('转化为false'); 
        }
        // 总结:
        // 1,只有5种情况是 false 
        //    数值0  包括 0  0.0   0.00000 等 
        //    空字符串 ''
        //    undefined
        //    null  
        //    NaN
        // 2,其他所有的情况,都会转化为 true

undefined和null js数据类型转换自动转换布尔类型的更多相关文章

  1. C语言:数据类型转换 自动转换 强制转换

    数据类型转换就是将数据(变量.数值.表达式的结果等)从一种类型转换为另一种类型. 自动类型转换 自动类型转换就是编译器默默地.隐式地.偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生.1 ...

  2. JS 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...

  3. JS数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...

  4. JS 数据类型转换-转换函数、强制类型转换、利用js变量弱类型转换

    1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型 ...

  5. js笔记——js数据类型转换

    以下内容摘录自阮一峰的<语法概述 -- JavaScript 标准参考教程(alpha)>章节『数据类型转换』,以做备忘.更多内容请查看原文. JavaScript是一种动态类型语言,变量 ...

  6. JS 数据类型转换以其他

    JavaScript 是一种弱类型的语言,也就是没有类型限制,变量可以随时被赋予任意值. 同时,在程序运行过程中,类型会被自动确认的.因此,这就是涉及到数据的类型转换.在 JS 的世界中,数据类型转换 ...

  7. {}+[] = ? 和 []+{} = ? 浅谈JS数据类型转换

    参加公司技术嘉年华第一季(前端.服务端)的间隙,陈导问了我一个问题:{}+[] 和 []+{}两个表达式的值分别是什么?根据我的理解我觉得结果应该都是"[object Object]&quo ...

  8. JS数据类型转换问题

    一.数据类型的转换 数据类型的转换方法 强制转换(显示转换,主动转换) 字符转数值 parseInt(要转换的数值或变量) 转整数 从左向右依次转换,遇到第一个非数字的字符,停止转换 忽略小数点后的内 ...

  9. Java 04-基础 数据类型转换 自动类型转换+强制类型转换

    1.数据类型自动转换 规则1:如果一个操作数为double型,则整个表达式提示至double型 规则2:满足自动类型转换条件,   两种类型要兼容,数值类型(整数和浮点)相互兼容   目标类型取值大于 ...

  10. js数据类型转换 ----流程控制

    数据类型转换: //number转换成str // var str=a+''; // console.log(str); // console.log(typeof str); //转换成字符串了 v ...

随机推荐

  1. ImageJ软件使用教程(二):图像测量

    目录 图像比例尺 加载图像 设置比例尺 标注比例尺 测量长度面积 测量长度 测量面积 参考资料 图像比例尺 使用ImageJ软件测量图像中的长度.面积等信息时,需要先设置图像的比例尺,比例尺用于将图像 ...

  2. 在IDEA中新建一个SpringBoot项目(两种方法)

    方法一.使用Spring initializr快速构建 1.首先创建一个新的project,点击[File]->[New]->[Project](如果是最开始进入idea软件界面,就是点击 ...

  3. 如何在 Anolis 8上部署 Nydus 镜像加速方案?

    简介: 手把手教你在 Anolis OS 上部署 Nydus! 在上一篇文章中详细介绍Anolis OS 是首个原生支持镜像加速 Linux 内核,Nydus 镜像加速服务重新优化了现有的 OCIv1 ...

  4. PolarDB-X 如何做分布式数据库热点分析

    简介: PolarDB-X 是一款计算存储分离的云原生分布式数据库,在PolarDB-X 2.0的AUTO模式下,数据库会按照表的主键自动Hash分区,将数据均匀的分布到各个数据节点中,最理想的情况是 ...

  5. 基于 K8s 的交付难题退退退!| 独家交付秘籍(第三回)

    简介: 经过仔细研究,我们发现秘籍中提到许多帮助解决交付问题的招式,而其中一个让我们印象很深,是关于在原有社区版容器底座 Kubernetes(以下简称 K8s)的基础上,对容器底座进行改进,可更好的 ...

  6. [Mobi] 什么是手机 Root 和 Magisk、Magisk App

    手机进行 Root 操作就是让我们能够拥有超级权限,包括被手机厂商所禁止的一些操作. 传统 Root 手段会修改系统文件,因而一些安全性要求较高的 App 会禁止自己在 Root 过的手机上运行. M ...

  7. [SVG] JS 动态加载 svg 修改 svg 属性

    svg 概念一览: https://javascript.ruanyifeng.com/htmlapi/svg.html加载 svg: // for example: $('body').load(' ...

  8. dotnet 记 TaskCompletionSource 的 SetException 可能将异常记录到 UnobservedTaskException 的问题

    本文将记录 dotnet 的一个已知问题,且是设计如此的问题.假定有一个 TaskCompletionSource 对象,此对象的 Task 没有被任何地方引用等待.在 TaskCompletionS ...

  9. WPF 基于 .NET 5 框架和 .NET 6 的 SDK 进行完全单文件发布

    本文来告诉大家如何基于 .NET 5 框架和 .NET 6 SDK 进行完全单文件发布,这是对 WPF 应用程序进行独立发布,生成的是完全单文件的方法 在之前的版本,尽管也是基于 .NET 5 框架的 ...

  10. aliyun全站DCDN刷新--Django

    1.编写原因: 由于登录到阿里云DCDN,需要登录加打开各种页面,导致推送一次感觉非常麻烦,所以编写(网上以有很多可以借鉴) 2.基础环境 # 所需模块 pip install aliyun-pyth ...