在平常写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. 深入浅出妙用 Javascript 中 apply、call、bind

    这篇文章实在是很难下笔,因为网上相关文章不胜枚举. 巧合的是前些天看到阮老师的一篇文章的一句话: "对我来说,博客首先是一种知识管理工具,其次才是传播工具.我的技术文章,主要用来整理我还不懂 ...

  2. javascript判断浏览器类型与版本

    转自 司徒正美博客: http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html

  3. mac os x在PC上安装

    系统安装之前的准备工作及安装过程简介 前面我们已经提到,苹果电脑虽然已经采用了x86架构的Intel处理器,但其官方并不提供在非苹果电脑上安装Mac OS的支持.所以,要想在普通PC/笔记本电脑上安装 ...

  4. pod install 报错

    更新pod出现如下警告 The `SmartCloud_TS [Debug]` target overrides the `GCC_PREPROCESSOR_DEFINITIONS` build se ...

  5. UML类图中的关系和表示方法

    类图是用来描述程序中的类以及它们之间的关系的,使用类图可以帮助我们简化对系统的理解.在UML类图中比较常见的关系有六种,它们分别是:依赖.关联.聚合.组合.泛化.实现,这六种关系中类之间的紧密程度是依 ...

  6. 核心动画(UIView封装动画)

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

  7. EFcore与动态模型

    在开发商城系统的时候,大家会遇到这样的需求,商城系统里支持多种商品类型,比如衣服,手机,首饰等,每一种产品类型都有自己独有的参数信息,比如衣服有颜色,首饰有材质等,大家可以上淘宝看一下就明白了.现在的 ...

  8. C# 字符串比较大小 string.Compare()方法

    string.Compare方法,用来比较2个字符串值得大小 string.Compare(str1, str2, true); 返回值: 1 : str1大于str2 0 : str1等于str2 ...

  9. 关于input只能输入数字的两种小方法

    第一种: 直接给input标签 name赋值如下 <input name="start_price" id="start_price" type=&quo ...

  10. 项目架构开发:数据访问层之Cache

    数据访问层简单介绍 数据访问层,提供整个项目的数据访问与持久化功能.在分层系统中所有有关数据访问.检索.持久化的任务,最终都将在这一层完成. 来看一个比较经典的数据访问层结构图 大概可以看出如下信息 ...