js类型检测

1、typeof  或者  typeof()  适合基本类型及function检测,遇null失效

ex:  typeof 100      返回值为 "number"

     typeof true  返回值为 "boolean"

     typeof function(){}  返回值为  "function"

     typeof undefined  返回值为  "undefince"

     typeof new Object()  返回值为  "object"

     typeof [1,2]  返回值为  "object"

     typeof NaN  返回值为  "number"

       typeof null  返回值为  "object"

2、instanceof(基于原型链判断)  适合自定义对象,也可用来检测原声对象,在不同iframe和window间检测时失效

  obj  instanceof  Object    #instanceof操作符期望左操作数是一个对象,如果不是,会返回false,期望右操作符实一个函数对象或函数构造器,若不是,会跑出一个type error异常

3、Object.prototype.toString.apply()  适合内置对象和基本类型,遇到null和undefined失效

注意:IE6/7/8 Object.prototype.toString.apply(null) 返回值为  "[object Object]"

Object.prototype.toString.apply([])  返回值为  "[object Array]"

Object.prototype.toString.apply(function(){})  返回值为  "[object Function]"

Object.prototype.toString.apply(null)  返回值为  "[object Null]"

Object.prototype.toString.apply(undefined)  返回值为  "[object Undefinde]"

4、constructor

5、duck type

时间: 2024-10-21 21:35:27

js类型检测的相关文章

JS 类型检测

PS:慕课心得(爱学习的妹纸,运气不会太差?) 首先我们要先了解JS中的类型有哪些(每个人看到的文档不同,对类型的分类可能会有不同,以下是个人的理解)? 1.原始类型:String Number Boolean Undefined Null 2.引用类型:Function(特殊) Object Array ....(除原始类型外的都是引用类型) 如此多的类型,在使用的时候如何是检测就成了一个很严肃的问题,因些下面对类型的检测做了出归类,但愿对你有帮助: 一.typeof( xxx)  || ty

JS中的类型检测

JS中用于类型检测的函数有typeof.instanceof .Object.prototype.toString.constrcutor.duck type typeof用于检测基本类型和函数 有些特殊情况 null.数组.Date数据类型用typeof判断返回的是object instanceof用来判断对象类型,基于原型链,可以用来判断数组和Date数据类型

做webapp 使用JS来检测游览器是什么类型,或android是什么版本号

此文转自我的www.gbtags.com社区的文章. 做webapp还是微信游戏,特别是canvas,android上不同机器不同版本区别还是很大的.其实,我今天写了这个js,主要是来做js判断游览器类型,特别使用在android的和widnows phone上的 var brower = { versions:function(){ var u = window.navigator.userAgent; var num ; if(u.indexOf('Trident') > -1){ //IE

如何使用JS来检测游览器是什么类型,或android是什么版本号- 转载

var brower = { versions:function(){ var u = window.navigator.userAgent; var num ; if(u.indexOf('Trident') > -1){ //IE return "IE"; }else if(u.indexOf('Presto') > -1){ //opera return "Opera"; }else if(u.indexOf('Gecko') > -1 &a

【JS】类型检测

本文首发于我的个人博客 : http://cherryblog.site/ 前言 js 中的类型检测也是很重要的一部分,所以说这篇文章我们就来讲一下怎么对 JavaScript 中的基本数据类型进行检测.其实这也是在读 Zepto 源码中学习到的,所以阅读源码对我们的提升还是很有帮助的.本文基于参考了前辈们的文章之后个人理解此文写的有不当的地方,请各位大佬指正. 其实常规方法主要有四种 typeof instanceof Object.prototype.toString construcor

JS数据类型和堆栈+变量比较和值的复制+参数传递和类型检测

变量命名 变量名:字母 数字 下划线 美元符$ jquery:  $     $.each()   $ === jQuery underscore( js的一个函数库)  :   _     _.each() 关键字 :  if   for 保留字 :  class 推荐有意义的命名: buttonCancel   button_cancel   btnCancel 数据类型和堆栈 基本类型(可以修改) :  4  str   true  undefined  null 引用类型(不能修改) :

JavaScript类型检测

在编写JS代码中,经常要对某个变量进行类型检测.常用的类型检测方法有: typeof Object.prototype.toString constructor instanceof typeof typeof可以识别出基本数据类型(null除外),同时typeof并不能识别具体的对象类型(Function除外). eg: typeof "seven"; // "string" typeof 7; //"number" typeof true ;

js类型判断及鸭式辨型

目录 instanceof constructor 构造函数名字 鸭式辨型 三种检测对象的类方式: instanceof.constructor .构造函数名字 用法如下: 1)instanceof console.log([1,2,3] instanceof Array); true console.log([1,2,3] instanceof Object); true 尽管构造函数是原型的唯一标识,instanceof运算符的右操作数是构造函数,instanceof实际计算过程中检测的是对

JavaScript中类型检测

JavaScript是类型松散的,也就是说,在使用变量和函数参数之前,不会对它们进行比较已确保它们的数据类型正确. JS有五种基本数据类型:Undefined.Null.Boolean.Number和String,还有一种复杂数据类型Object. JS是不支持任何创建自定义类型的机制,所有值最终都将是上述6种数据类型之一. 对于上述6种类型的变量,可以利用typeof操作符来检测. typeof操作符可能返回下列六个字符串: "undefined"--这个值未定义,对应Undefin