在平常写js代码,类型判断必不可少,那么我们常见有哪几种?看到了标题,先不看你会想到那些方法 ,常用呢些呢?那么今天我自己总结一些判断类型的判断,如有错,万望告知!

1:typeof 常用这种方法不错

console.log(typeof 123 === "number"); //true

console.log(typeof "type" === "string"); //true

console.log(typeof undefined === "undefined"); //true
console.log(typeof function(){} === "function"); //true
//可是这两个就无法判断 都是"object"  console.log(typeof {} === "object"); //true  console.log(typeof [] === "object"); //true //注意 用typeof 判断 null 或是 [] 无法通过console.log(typeof null === "null") 没有标准值比较因此无法通过 ===  typeof [] // "object" type null // "undefined" 或是"object" 总之不同浏览器判断 都有变化 ,奇葩的null

2: instanceof 来补充上面无法真正分辨出 数组 [] 与 json对象{} 。感觉instanceof 为了判断 [] {}而生的!!!

 console.log([] instanceof Array)//true

 console.log({} instanceof Object)//true

// 判断其他的就功力下降了
console.log(123 instanceof Number);//false
console.log("type" instanceof String);//false
 

3:toString.call() 这种方法不错 与 老祖宗方法 Object.prototype.toString.call()一样的 个人推荐用这种

 console.log(toString.call(123) === '[object Number]');//true
console.log(toString.call('type') === '[object String]');//true
console.log(toString.call(null) === '[object Null]');//true
console.log(toString.call(undefined) === '[object Undefined]');//true
console.log(toString.call(true) === '[object Boolean]');//true
console.log(toString.call([]) === '[object Array]');//true
console.log(toString.call({}) === '[object Object]');//true
console.log(toString.call(function(){}) === '[object Function]');//true

4:constructor 构造函数的属性  用来判别对创建实例对象的函数的引用(个人觉得:认爹妈用的)

        var arr = [];
var str = 'type';
var num = 123;
var boo = true;
var fn = function () {};
var obj = {}; console.log(arr.constructor == Array);//true
console.log(str.constructor == String);//true
console.log(num.constructor == Number);//true
console.log(boo.constructor == Boolean);//true
console.log(fn.constructor == Function);//true
console.log(obj.constructor == Object);//true

5:还有ES6的,或是jQuery就不列举了!!知道有这几种也足够使用了。。。

上面判断的全都是内置对象实例后的类型判断,那么大家应该知道类型判断,日后GET起来,希望对你有用!!!深夜放毒,才是更有问道。。。

javascript 类型的判断的更多相关文章

  1. JavaScript 类型浅解

    对于JavaScript 类型,可简单地概括为:相对于强类型语言来说,它是弱(松散)类型的语言:有基本类型和引用类型,他们是区别是一个有固定空间存在于栈内存中,一个没有固定空间保存在堆内存中并且在栈内 ...

  2. JavaScript根据文件名判断文件类型

    //JavaScript根据文件名判断文件类型 var imgExt = new Array(".png",".jpg",".jpeg",& ...

  3. 关于javascript 里面类型的判断

    javacript至今共有7中类型 Six data types that are primitives: Boolean Null Undefined Number String Symbol (n ...

  4. javaScript 类型判断

    直接上例子: 1 判断是否为数组类型 2 判断是否为字符串类型 3 判断是否为数值类型 4 判断是否为日期类型 5 判断是否为函数 6 判断是否为对象 1 判断是否为数组类型 linenum < ...

  5. javascript类型判断方法

    判断javascript中的类型,共有四种常用的方法 var a=6; var b="str"; var c=true; var arr=[]; typeof 用于基本类型的判断 ...

  6. javascript中对变量类型的判断

    本文正式地址:http://www.xiabingbao.com/javascript/2015/07/04/javascript-type 在JavaScript中,有5种基本数据类型和1种复杂数据 ...

  7. javascript增强typeof 对复杂类型的判断

    js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object). typeof 由于js中的变量是松散类型的 ...

  8. 【跟着子迟品 underscore】JavaScript 中如何判断两个元素是否 "相同"

    Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...

  9. javascript类型注意事项

    以下是javascript类型的注意事项: null:表示尚未存在的对象,注意,尽管尚未存在,也是个对象啊,所以用typeof检测一个null值变量的结果是Object:不过,为了便于写if语句,在j ...

随机推荐

  1. python - bilibili(三)wireshark分析

    当我们开始打开浏览器,并进入B站直播网页前,我们打开wireshark软件(软件的下载与安装请百度一下)开始截取当前数据. 然后输入直播间网址,enter进入就可以停止截取数据了,然后我们分析所截取的 ...

  2. 深度神经网络(DNN)模型与前向传播算法

    深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础,而要理解DNN,首先我们要理解DNN模型,下面我们就对DNN的模型与前向传播算法做一个总结. 1. 从感知机 ...

  3. Redis之Sentinel高可用安装部署

    背景: 之前通过Redis Sentinel 高可用实现说明和Redis 复制.Sentinel的搭建和原理说明大致已经介绍了sentinel的原理和实现,本文再次做个简单的回顾.具体的信息见前面的两 ...

  4. HNOI2015 Day 1

    HNOI2015的题还是非常漂亮的,几道题都有很大的借鉴意义,都有很强的思考性 T1亚瑟王(概率论) 描述:http://www.lydsy.com/JudgeOnline/problem.php?i ...

  5. flask扩展模块flask-sqlachemy 的使用---mysql数据库

    该篇博客配置环境为:python版本3.5,flask2.0,python3中已经不再支持MySQLdb模块,所有这里我用了pymysql,所有使用前应该 安装pymysql:pip install ...

  6. python 写的几道题

    ''' #乘法口诀''' for i in range(1,10): for j in range(1,i+1): print("%d*%d=%2d" % (i,j,i*j),en ...

  7. Couchbase 中的分布式储存

    Couchbase 是一个具有高性能.可扩展性和可 用性强的数据库引擎.它可以让开发人员通过 NoSQL 的键值存储(二进制或者JSON)或者使用 N1QL 的形式对数据进行操作(N1QL 是非常类似 ...

  8. 中药饮片ERP案例

    企业简介 [规模] 苏州市天灵中药饮片有限公司成立于2002年,为苏州首家中药饮片GMP认证企业.公司品牌“李良济”首创于1914年民国初,祖传三代,为中华老字号企业.目前,公司经营主要分为三大块:中 ...

  9. 利用smarty模板(登录、有关信息操作等功能)

    smarty模板前提是:前端和后端是分开的,所以肯定会有很多的后台页面,php页面和html页面是分开存储的. (1)登录页面的编写也是分两个页面(后台和前端) 1.首先是后台的php页面,很简单只要 ...

  10. 初探nginx负载均衡集群

    借LVS的环境: A(dir):192.168.122.129 B(rs1):192.168.122.140 C(rs2):192.168.122.141 Centos 6下如果安装过epel的yum ...