<!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. CF1535F String Distance

    \(CF1535F\ \ String\ Distance\) 题意 给 \(n\) 个长度均为 \(len\) 的字符串 \(T_1,T_2,\dots T_n\),定义 \(f(a,b)\) 为将 ...

  2. ESXI 6.5 零基础从安装到批量生成/管理虚拟机简易教程

    制造U盘安装盘 1 先提前下载好,ESXI 6.5 ISO文件. 2 下载制作U盘安装工具,RUFUS. Rufus非常小巧的绿色EXE文件,默认配置选中ISO文件就可以,点击开始,就自动制作,非常方 ...

  3. KubeMeet|聊聊新锐开源项目与云原生新的价值聚焦点

    ​简介: 10 月 16 日上海,OAM/KubeVela.OpenKruise.OCM 三大开源项目的社区负责人.核心贡献者和企业用户将齐聚 KubeMeet,和现场 100 名开发者聊聊新的技术环 ...

  4. PHP vs Golang ? 想什么呢 ! What Are You Thinking !

    在使用 PHP 多年之后,我对 PHP 的优势和劣势已经非常清楚,与后起之秀 Golang 相比,两者已经不在一个重量级. PHP 更像是 70 kg 级别的选手,脚本语言,极速开发,部署方便,性能可 ...

  5. WPF 触摸底层 PenImc 是如何工作的

    在 WPF 里面有其他软件完全比不上的超快速的触摸,这个触摸是通过 PenImc 获取的.现在 WPF 开源了,本文就带大家来阅读触摸底层的代码,阅读本文需要一点 C# 和 C++ 基础 现在 WPF ...

  6. 万字长文总结与剖析C语言关键字 -- <<C语言深度解剖>>

    C总结与剖析:关键字篇 -- <<C语言深度解剖>> 目录 C总结与剖析:关键字篇 -- <<C语言深度解剖>> 程序的本质:二进制文件 变量 1.变量 ...

  7. SQL SERVER数据库存储过程加密

    CREATE PROCEDURE [dbo].[kytj_Base_Worker] WITH ENCRYPTION AS SELECT u.worker_number, u.worker_name, ...

  8. Ubuntu环境下docker每次都需要sudo的问题

    1.添加 docker 用户组 sudo groupadd docker 可以通过 cat /etc/group 指令查看存在的用户组 2.将当前用户添加到 docker 组中 sudo gpassw ...

  9. STM32定时器原理

    一.简介 不同的芯片定时器的数量不同,STM32F10x中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器. 基本定时器:TIM6. ...

  10. 一、Doris演进史

    Apache Doris -- 为分析而生 Doris发展历程: Doris发展比较重要的关键节点与事件 #2008 - Doris1 :「筑巢引凤」的重要基石 早年,百度最主要的收入来源是广告.广告 ...