首页 > 网站 > WEB开发 > 正文

javascript的类型检测

2024-04-27 15:04:48
字体:
来源:转载
供稿:网友
typeof,instanceof, Object.PRototype.toString, constructor, duck type

typeof

适合基本类型及function检测,遇到null失效。

typeof 45 ;// 返回字符串 "numebr"typeof true;// 返回字符串 "boolean"typeof function;// 返回字符串 "function"typeof(undefined);// 返回字符串"undefined"typeof new Object();// 返回字符串"object"typeof [4,3];//返回字符串"object"typeof NaN;//返回字符串"number"typeof null;//返回字符串"object"

instanceof

适合自定义对象,也可以用来检测原生对象,在不同iframe和window间检测时失效。

[2,5] instanceof Array === truenew Object() instanceof Array === false

Object.prototype.toString

通过{}.toString 拿到,适合内置对象和基元类型,遇到null和undefined失效(IE678等返回[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 Undefined]";//IE6/7/8 Object.prototype.toString.apply(null) 返回 "[object Object]"
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表