使用typeof()或者typeof进行基本数据类型检测(  typeof(X)等于typeof X  返回的是数据类型)

数据类型有:基本数据类型,字符串(string),布尔值(true/false),未定义undefined,null(空值),数组(array),对象类型,函数(function(){}) ,正则表达式。

<script type="text/javascript">
        console.log(typeof 4);  //number

console.log(typeof (4));//number

        console.log(typeof "str");//字符串
        console.log(typeof true);//布尔值boolean
        console.log(typeof undefined);//未定义undefined

   console.log(typeof a);//a是未定义的变量,所以就是undefined。
        console.log(typeof null);//空值,对象类型
        console.log(typeof []);//数组,对象类型
        console.log(typeof {});//对象类型
        console.log(typeof function(){});//函数,function
        console.log(typeof /a/);//正则表达式,对象(浏览器不同,有可能返回function)
    </script>

以上所有都是基本数据类型,只有基本数据类型才可以使用 typeof()或者typeof 来返回所属的是什么类型数据。

//引用类型只能使用 instanceof

//使用instanceof(X) 或者 instanceof X 检测数据类型
        //翻译为:[] 是 Array的实例,返回true
        console.log([] instanceof Array);//[] 是 Array的实例,返回true
        console.log([] instanceof (Object));//[]是Object的实例,返回true
        console.log({} instanceof Object);//{}是Object的实例,返回true
        console.log({} instanceof Array);//{}不是 Array的实例,返回false
        console.log(1 instanceof Number);//基本数据类型无法使用instanceof 进行检测数据类型,因为基本数据类型使用instanceof进行检测,结果都是返回false。

document.write(typeof null);//先判断Null是什么事数据类型,再来决定返回什么类型的实例。

document.write(null instanceof Object);//先判断null是什么数据类型。再来决定返回什么类型的实例。

null是Null类型,属于基本类型,但是typeof null 返回的是字符串'object';instanceof不能检测基本数据类型,只要是基本数据类型和instanceof连用,返回的都是false。

使用typeof()或者typeof数据类型检测的更多相关文章

  1. javascript的typeof返回哪些数据类型

    javascript的typeof返回哪些数据类型 1.返回数据类型 undefined string boolean number symbol(ES6) Object Function 2.强制类 ...

  2. typeof与js数据类型

    js有6种数据类型有null.undefied.string.number.boolean.object. 然而我之前的[误区]: typeof的返回值和JS的数据类型是一样的.但是并不是(⊙o⊙)哦 ...

  3. JavaScript系列文章:不能不看的数据类型检测

    由于JavaScript是门松散类型语言,定义变量时没有类型标识信息,并且在运行期可以动态更改其类型,所以一个变量的类型在运行期是不可预测的,因此,数据类型检测在开发当中就成为一个必须要了解和掌握的知 ...

  4. JS中的数据类型检测

    JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type).原始类型有5种,分别是:数字(Number).字符串(String).布尔值(Bo ...

  5. 原生JS-----论数据类型检测

    常见的数据类型检测的方法: 一.最为基础的typeof 二.不可不知的instanceof 三.比instanceof更好的constructor 四.检测值或者表达式的结果是否为NaN 五.易用的j ...

  6. javascript 数据类型 -- 检测

    一.前言 在上一篇博文中 Javascript 数据类型 -- 分类 中,我们梳理了 javascript 的基本类型和引用类型,并提到了一些冷知识.大概的知识框架如下: 这篇博文就讲一下在写代码的过 ...

  7. js数据类型检测

    目录 1. typeof {} 2. {} instanceof Object 3. {}.constructor === Object 4. Object.property.toString.cal ...

  8. JavaScript 数据类型检测总结

    JavaScript 数据类型检测总结 原文:https://blog.csdn.net/q3254421/article/details/85483462 在js中,有四种用于检测数据类型的方式,分 ...

  9. js数据类型检测小结

    在js中,有四种用于检测数据类型的方式,分别是: typeof 用来检测数据类型的运算符 instanceof 检测一个实例是否属于某个类 constructor 构造函数 Object.protot ...

随机推荐

  1. Java面试题精选,大型网站系统架构你不得不懂的10个问题

    作者:JavaGuide(公众号) 下面这些问题都是一线大厂的真实面试问题,不论是对你面试还是说拓宽知识面都很有帮助.之前发过一篇8 张图读懂大型网站技术架构 可以作为不太了解大型网站系统技术架构朋友 ...

  2. 第71节:Java中HTTP和Servlet

    第71节:Java中HTTP和Servlet 前言 哭着也要看完!!!字数: 学习xml和TomCat 会写xml,看懂xml 解析对象 SAXReader reader = new SAXReade ...

  3. docker 简单介绍及基础命令运用

    一.什么是docker? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. 简单的来讲Docker实际上就是一个大型容器.容器是完全使用沙箱机制,相互之间不 ...

  4. Ubuntu 16.04 下octave的使用入门

    SciLab和octave是开源的且免费的矩阵计算工具,二者都有希望成为矩阵计算的新宠.相比之下, octave与MatLab的兼容性更高. octave遵循GPL协议(GNU General Pub ...

  5. 9102年了,汇总下HttpClient问题,封印一个

    如果找的是core的HttpClientFactory 出门右转. 官方写法,高并发下,TCP连接不能快速释放,导致端口占完,无法连接 Dispose 不是马上关闭tcp连接 主动关闭的一方为什么不能 ...

  6. conda添加多个版本的python

    在conda下,新添加一个python环境,如下再添加一个python3.6conda create --name py36 python=3.6然后通过source activate py36来激活 ...

  7. 【翻译】JavaScript中5个值得被广泛使用的数组方法

    原文地址:http://colintoh.com/blog/5-array-methods-that-you-should-use-today?utm_source=javascriptweekly& ...

  8. vue axios 简单封装以及思考

    先安装 axios npm install axios axios的详细介绍以及用法 就不多说了请 移步 github ➡️  https://github.com/axios/axios 下面是简单 ...

  9. java扫盲 接口 Enumeration

    摘要: 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 记起2年前,高中生活最多的是老师的批评.谢谢! -泥沙砖瓦浆木匠 ...

  10. nginx proxy_pass 代理域名

    一.描述 1.nginx配置转发的时候使用的是域名,即使用dns服务方便配置和负载.但是nginx默认会进行缓存,当域名对应的服务出问题的时候就会报错,只有默认的缓存时间到了才会再次进行解析,ngin ...