//1 判断是否为数组类型var a=[0];console.log(isArray(a));function isArray(obj){return (typeof obj=='object') && obj.constructor==Array;}console.log("2-----------------------------------")//2 判断是否为字符串类型console.log(isString('test'));console.log(isString(10));function isString(str){return (typeof str=='string')&&str.constructor==String;}console.log("3-----------------------------------")//3 判断是否为数值类型console.log(isNumber('test'));console.log(isNumber(10));function isNumber(obj){return (typeof obj=='number')&&obj.constructor==Number;}console.log("4-----------------------------------")//4 判断是否为日期类型console.log(isDate(new Date()));console.log(isDate(10));function isDate(obj){return (typeof obj=='object')&&obj.constructor==Date;}console.log("5-----------------------------------")//5 判断是否为函数console.log(isFunction(function test(){}));console.log(isFunction(10));function isFunction(obj){return (typeof obj=='function')&&obj.constructor==Function;}console.log("6-----------------------------------")//6 判断是否为对象console.log(isObject(new Object()));console.log(isObject(10));function isObject(obj){return (typeof obj=='object')&&obj.constructor==Object;}/** null 数组  日期 对象返回的是object类型*/

// js数据类型: number   string    boolean   undefined   object和函数类型 function
console.log(typeof null)//objectconsole.log(typeof Function)//function  Function是包装类型console.log(typeof undefined)//undefinedvar message;console.log(message)//undefined 定义了没有赋值console.log(typeof message)//undefined 类型console.log(null == undefined)//true/** true==1;fase==0;* */console.log(true == 1)//trueconsole.log(false == 0)//trueconsole.log(false ==2)//falsevar str="";console.log(str==0);//true;空字符串将会把值转换为0console.log(typeof str)//string

  var str2=new String('A');  console.log(str2) //String { 0="A"}

原型扩展方法

Object.prototype.toString.call

    var gettype=Object.prototype.toStringgettype.call('aaaa')             //[object String]gettype.call(2222)              //[object Number]gettype.call(true)              //[object Boolean]gettype.call(undefined)         //[object Undefined]gettype.call(null)              //[object Null]gettype.call({})                //[object Object]gettype.call([])                //[object Array]gettype.call(function(){})      //[object Function]

 

/*    其实js 里面还有好多类型判断[object HTMLDivElement]   div 对象  ,[object HTMLBodyElement]  body 对象,[object Document](IE)或者  [object HTMLDocument](firefox,google) ......各种dom节点的判断,这些东西在我们写插件的时候都会用到。*/var   gettype=Object.prototype.toStringvar    utility={isObj:function(o){return    gettype.call(o)=="[object Object]";},isArray:function(o){return    gettype.call(o)=="[object Array]";},isNULL:function(o){return    gettype.call(o)=="[object Null]";},isDocument:function(){return    gettype.call(o)=="[object Document]"|| [object HTMLDocument];}//...}

 

转载于:https://www.cnblogs.com/eaysun/p/4385803.html

JavaScript 学习笔记— —类型判断相关推荐

  1. JavaScript学习笔记:类型检测

    JavaScript学习笔记:类型检测 1.利用typeof检测数据类型 注意:type of null,返回的不是"null",而是"object".type ...

  2. JavaScript学习笔记(备忘录)

    JavaScript学习笔记(备忘录) ===运算符 判断数值和类型是否相等.如: console.log('s'==='s') //输出trueconsole.log('1'===1) //输出fa ...

  3. JavaScript 学习笔记(1)

    1.     何为 Jscript JScript 是一种解释型的.基于对象的脚本语言. 局限性: 1)        不能使用该语言来编写独立运行的应用程序 2)        没有对读写文件的内置 ...

  4. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  5. JavaScript --- [学习笔记] 原型模式

    说明 接JavaScript - > [学习笔记]观察者模式 & 理解对象 & 工厂模式 & 构造函数模式 上一篇构造函数模式创建的实例,不同实例的同一个方法是不相等的, ...

  6. JavaScript学习笔记(三)--操作运算符

    JavaScript中的运算符有很多,主要分为算术运算符,比较运算符,逻辑运算符,三目运算符.一元运算符.位运算符等.这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScript中的 ...

  7. JavaScript学习笔记(三)---事件、正则表达式、ES6、运动

    JavaScript学习笔记(三)---事件.正则表达式.ES6.运动 27.insertbefore 28.滚动条及事件 29.事件及事件对象 30.鼠标事件对象的属性 31.案例:图片随鼠标移动 ...

  8. JavaScript 学习笔记(第三天)

    JavaScript 学习笔记(第三天) 一.数组 1.1.数组的基础 1.2.数据类型分类 1.3.创建数组 1.3.1.字面量创建一个数组 1.3.2.内置构造函数创建数组 1.4.数组的基本操作 ...

  9. JavaScript 学习笔记(二)

    JavaScript 学习笔记(二) 文章目录 JavaScript 学习笔记(二) 一 JSON 1. JSON 对象 什么是JSON对象 JSON对象与Javascript对象的区别 在JavaS ...

最新文章

  1. Design Pattern Quick Overview
  2. TextView显示颜色高亮的问题
  3. jsp接收 input文本输入框中,无法正确显示单引号和双引号的问题
  4. 设计模式之四(抽象工厂模式第二回合)
  5. C# 调用IP库(QQWry.Dat)查询IP位置及自动升级IP库方法(附IP库下载地址及相关dll下载)...
  6. python语言的主网址-python官方网站
  7. 效率 用div做表格和tr_头一次见用电钻做电线接线,效率高出十倍,用几十年都不漏电...
  8. 2018上IEC计算机高级语言(C)作业 第1次作业 。
  9. linux系统notebook,RedNotebook——Linux环境桌面日记本
  10. 个人永久性免费-Excel催化剂功能第44波-可见区域复制粘贴不覆盖隐藏内容
  11. oracle生成流水号序列,Oracle序列生成订单流水号
  12. Android app内部启动qq/跳转到QQ添加好友
  13. IDEA设置默认浏览器为chrome
  14. 超声波传感器(CHx01) 学习笔记 Ⅲ - I2C读写操作
  15. 做社交电商,你还没有用小程序?
  16. SLIC——代码、改进
  17. 计算机专业要不要考研
  18. MATLAB界面打开只有左上角一个叉号x号
  19. 如何看计算机网络中的“节点”和“结点”
  20. 异常处理:el表达式数据类型转换异常 Cannot convert B36 of type class java.lang.String to class java.lang.Long

热门文章

  1. SAP HUM 如何将HU里的物料号换成另外一个物料号?
  2. 概率分布,先懂这6个
  3. python中的装饰器介绍
  4. 《数学之美》第1章 文字和语言 vs 数字和信息
  5. 原创工作发表难之叶公好龙
  6. AI+视频分析:实时监测无处不在的安全风险
  7. 百度地图发布专网地图时空数据托管平台,构建智慧城市数字底盘
  8. 美军重视扩展现实技术的研究和应用
  9. Gartner:2020 年 AI 平台魔力象限:意外多多
  10. 一文告诉你,谷歌是否真的实现了「量子至上」