基本数据类型之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. Oracle的主键id自增

    Oracle的主键id自增 可以直接用序列加触发器的方式实现 首先表里面要有个主键,没有的话用语句或者在编译器中加一下,都可以 然后创建一个序列,一般来说最常用的有这几个参数 CREATE SEQUE ...

  2. 剑指 Offer 58 - II(Java)-左旋转字符串(简单)

    题目: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位 ...

  3. 1.css的初认识

    1.什么是CSS? Cascading Style Sheet 层叠级联样式表 CSS:表现层(美化网页) 字体.颜色.边距.高度.宽度.背景图片.网页定位.网页浮动.... 2.CSS发展史 CSS ...

  4. 暑期集训 Day9 —— 模拟赛复盘

    ${\color{Green} \mathrm{Problem\ 1 :大河的序列 }} $ 巨思维... 其实只需要输出序列 max 即可. 死因: \({\tiny 去你的}\) 快速幂 int ...

  5. [GPT] 数据分析工具可以使用机器学习技术来预测未来趋势和提供数据可视化?

      数据分析工具使用机器学习技术来预测未来趋势和提供数据可视化是靠谱的. 机器学习算法可以通过对历史数据的学习来发现数据中的模式和趋势,并利用这些模式和趋势来预测未来的趋势.这种方法已经被广泛应用于许 ...

  6. [FAQ] Vue iframe 的 src 是链接地址却加载了相对路径 ?

    iframe 的 src 是链接, 但是加载的实际链接是相对路径,只有一种可能:链接地址不正确. 检查链接有没有少符号,常见错误:http//,http:/ Refer:Vue的iframe错误 Li ...

  7. 修复 GitLab 的 CI Runner 提示找不到 pwsh 执行文件

    本文告诉大家如何修复使用 GitLab 的 Runner 做 CI 时提示 "pwsh": executable file not found in %PATH% 错误 有两个方法 ...

  8. WPF 制作一个占用文件的测试工具

    我在开发软件进行测试时,需要测试拖入的文件被占用时软件的行为,于是就做了一个文件占用工具,此工具可以将某个文件进行占用,以及获取某个文件被哪个进程占用 先给大家看一下效果: 以上是拖入文件到灰色部分, ...

  9. 【LGR-170-Div.3】洛谷基础赛 #6 & Cfz Round 3 & Caféforces #2

    这套题感觉质量很高,思维含量大概div.2? A.Battle \[x \equiv r(\bmod P) \] \[P \mid x - r \] 因此只有第一次操作是有效的. void solve ...

  10. telegraph + influxdb + grafana 实现交换机流量展示

    实验环境 influxdb2:2.7.5 telegraf:1.30.1 grafana:10.4.2 influxdb 官方文档见https://docs.influxdata.com/influx ...