<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // JavaScript语法之数据类型的检测
        // JavaScript中提供了一种方法,可以检测变量中存储的数据,是什么数据类型
        // typeof() 
        // 布尔值类型都是 boolean
        // console.log( typeof( true ) );
        // console.log( typeof( false ) );
        // 数值类型都是 number
        // console.log( typeof( 100 ) );
        // console.log( typeof( 100.123 ) );
        // console.log( typeof( 2e3 ) );
        // console.log( typeof( NaN ) );
        // 字符串类型都是 string
        // console.log( typeof( '北京' ) );
        // console.log( typeof( "上海" ) );
        // console.log( typeof( `重庆` ) );
        // undefined 是 undefined
        // console.log( typeof( undefined ) );
        // 函数的结果是 function
        // console.log( typeof( function fun(){console.log(123)} ) );
        // null 数组array 对象object 是 object
        // null array 在 JavaScript 中 严格来说,是 object 对象中一种特殊的类型形式
        // console.log( typeof( null ) );
        // console.log( typeof( [1,2,3,4,5] ) );
        // console.log( typeof( {name:'张三'} ) );
        
        // typeof的第二种语法
        // 不推荐使用 typeof 空格 数据/对象
        // 如果程序内容过多,就容易造成代码冲突
        // 还是用小括号包起来,比较安全
        // console.log( typeof 100 );
        // typeof() 的执行 结果,永远是字符串类型
        // 有的时候,有些面试题会问
        // 内层   typeof(null)  检测 null 的数据数据类型,结果是 object
        // 外层   typeof() 实际上 是 检查 内层 typeof() 执行结果的 数据类型
        // 内层   typeof(null) 的执行结果是 object ,数据类型是 字符串类型
        // 因此   外层 typeof() 实际上是 检测 typeof('object')
        // 执行结果是  string
        // console.log(  typeof( typeof( null ) )  ) ;
        //                       结果是 'object'
        //            typeof(      'object'     )
        // 外层的执行结果是  string   
        // 总结:
        // typeof( typeof() )
        // 内层的 typeof() 结果不管是什么内容,数据类型永远是 字符串
        // 外层的 typeof() 结果永远是 string 
        // 黑色是字符串
        // 蓝色不同,是 数值 或者 布尔值 
        // 灰色 undefined 和 null
        // 字符串是黑色
        console.log('字符串');
        // 数值是蓝色
        console.log(100);
        console.log(100.123);
        console.log(NaN);
        // 布尔类型
        console.log(true);
        console.log(false);
        // undefined 和 null
        console.log(undefined);
        console.log(null);
        // 同时输出多种数据类型
        // 字符串是红色
        console.log(true,100,'北京',undefined,null);
    </script>
</body>
</html>

js数据类型的检查的更多相关文章

  1. js数据类型简单介绍

    JS数据类型 ECMAScript中有5种简单的数据类型:Undefined,Null,Boolean,Number,String.还有一种复杂的数据类型--Object(本质上是由一组无序的名值对组 ...

  2. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

  3. 由js apply与call方法想到的js数据类型(原始类型和引用类型)

    原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...

  4. 总结的JS数据类型判定(非常全面)

    用typeof 来检测数据类型 Javascript自带两套类型:基本数据类型(undefined,string,null,boolean,function,object)和对象类型. 但是如果尝试用 ...

  5. JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...

  6. JS数据类型的理解(猜测)

    Js 数据类型 对于这个主题,首先来看几个问题,如果你对这几个问题很清楚的话,那就请直接跳过吧,不用接着往下看了,如果不清楚,建议你还是看看. 1)如果判断函数?function 和object的联系 ...

  7. web开发与设计--js数据类型,js运营商

    1. js数据类型划分:号码值类型,布尔,串 由typeof能够看到什么类型的数据被详述. 举例: <span style="font-family:Microsoft YaHei;f ...

  8. [妙味JS基础]第四课:JS数据类型、类型转换

    知识点总结 JS数据类型:number数字(NaN).string字符串.boolean布尔值.函数类型.object对象(obj.[].{}.null).undefined未定义 typeof 用来 ...

  9. JavaScript大厦之地基:js数据类型

    一.数据和类型        俗话说物以类聚,人以群分:这里将人和物都按类别进行了区分.我们数据也一样,使用计算机我们能处理数值,也可以处理文本还可以处理图形.音频.视频等各种各样的数据,不同的数据有 ...

  10. JS 数据类型、赋值、深拷贝和浅拷贝

    js 数据类型 六种 基本数据类型: Boolean. 布尔值,true 和 false. null. 一个表明 null 值的特殊关键字. JavaScript 是大小写敏感的,因此 null 与 ...

随机推荐

  1. 力扣602(MySQL)-好友申请Ⅱ:谁有最多的好友(中等)

    题目: 在 Facebook 或者 Twitter 这样的社交应用中,人们经常会发好友申请也会收到其他人的好友申请. RequestAccepted 表: (requester_id, accepte ...

  2. 力扣182(MySQL)-查找重复的电子邮箱(简单)

    题目: 编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱. 示例:  解题思路: 方法一: 使用group by 按Email来分组,然后使用having选择count(id)> ...

  3. 系列解读 SMC-R (二):融合 TCP 与 RDMA 的 SMC-R 通信 | 龙蜥技术

    ​简介:本篇以 first contact (通信两端建立首个连接) 场景为例,介绍 SMC-R 通信流程. ​ 文/龙蜥社区高性能网络SIG 一.引言 通过上一篇文章 <系列解读SMC-R:透 ...

  4. RocketMQ 端云一体化设计与实践

    简介:本文首先介绍了端云消息场景一体化的背景,然后重点分析了终端消息场景特点,以及终端消息场景支撑模型,最后对架构和存储内核进行了阐述.我们期望基于 RocketMQ 统一内核一体化支持终端和服务端不 ...

  5. [ML] 科学编程语言 Octave 简单操作

    octave 是和 matlab 类似的软件,可以方便的进行矩阵计算.图形绘图. matlab 收费,octave 是 gnu 开源软件. Mac 安装: $ brew install octave ...

  6. Java Spring项目中的CORS跨域开启的几种方式

    引 在服务器端开启跨域的原理,一般都是通过在HTTP Headers中的响应头的Access-Control-Allow-Origin指定放行的域,来完成的. Access-Control-Allow ...

  7. 如何阅读 Paper

    前言 论文(Paper)通常是新技术.算法.编程方法或软件工具的首次公布.通过阅读论文,我们可以了解最新的技术进展,保持自己的技能和知识是最新的. 同时,论文提供了对特定主题深入理解的机会.它们通常包 ...

  8. MySQL:根据指定日期加365天,当前时间距离明年的指定的日期还有多少天-SQL

    一.数据准备 /* Navicat Premium Data Transfer Source Server : songweipeng Source Server Type : MySQL Sourc ...

  9. Teamviewer 再次涨价,太贵了,有没有平替软件?

    今天打开 Teamviewer 网站,吓一跳,商业版基础款价格直接翻倍. 作为行业龙头,又是德国产品,Teamviewer 一直保持着高价格的特色.这两年 Teamviewer 的价格还逐年上涨,从每 ...

  10. JDK源码阅读-------自学笔记(十九)(容器概念初探和泛型概念)

    简介 数组存在的优势和劣质 优势 数组是线性序列,从效率和类型检查的角度讲,数组是最好的 劣势 不灵活,数组的大小是预先定义好的,不会随意改变 引入容器 容器这个概念就是装东西的介质,可以理解为能装东 ...