基本数据类型之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. vscode设置语法错误时在文件名显示报错

  2. 力扣299(java)-猜数字游戏(中等)

    题目: 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少 ...

  3. 开源小白到核心开发——我与 sealer 的成长故事

    简介: 下面将以作者本人与 sealer 的一段成长故事来带领大家体验从小白到核心功能开发者的开源之旅,同时本文也作为一篇引领开源小白入门的文章供大家参考. 作者:周欣元 个人简介   大家好,我是周 ...

  4. OpenYurt 开箱测评 | 一键让原生 K8s 集群具备边缘计算能力

    作者| 郑超 阿里云高级开发工程师 随着物联网技术以及 5G 技术的高速发展,将云计算的能力延伸至边缘设备端,并通过中心进行统一交付.管控,已成为云计算的重要发展趋势.为服务更多开发者把握这一趋势,5 ...

  5. Inclavare Containers:云原生机密计算的未来

    ​简介:本文为你详细的梳理一次 Inclavare Containers 项目的发展脉络,解读它的核心思想和创新技术. ​ 作为业界首个面向机密计算场景的开源容器运行时,Inclavare Conta ...

  6. 函数计算 GB 镜像秒级启动:下一代软硬件架构协同优化揭秘

    ​简介:本文将介绍借助函数计算下一代 IaaS 底座神龙裸金属和安全容器,进一步降低绝对延迟且能够大幅降低冷启动频率. 作者:修踪 背景 函数计算在 2020 年 8 月创新地提供了容器镜像的函数部署 ...

  7. [GPT] export, export default, import, module.exports, require

    ES6 规范:export 和 import 配对 import 的 {} 大括号里面指定要从其他模块导入的变量名, 如果 export 命令没有写 default,那么 import {} 大括号里 ...

  8. dotnet 8 WPF 支持在 RDP 远程桌面状态下启用渲染硬件加速

    本文将和大家介绍在 dotnet 8 里 WPF 引入的新功能之一,在 RDP 远程桌面状态下启用渲染硬件加速 在 dotnet 8 之前,在用户进行 RDP 远程桌面时 WPF 应用将默认关闭硬件渲 ...

  9. 深入了解 Java 字节码

    1.1 什么是字节码? Java 在刚刚诞生之时曾经提出过一个非常著名的口号: "一次编写,到处运行(write once,run anywhere)",这句话充分表达了软件开发人 ...

  10. NSThread的isEexcuting和isFinish什么时候被设置

    NSThread的isExecuting在进入-[NSThread main]函数之前就已经被设置成YES; NSThread的isFinished在执行+[NSThread exit]后才被设置成N ...