判定类型
作者:互联网
2010-01-21
目前最精确的判定方法(不包括自定义类型)
1.var is = function (obj, type) {
2.
var _toString = Object.prototype.toString,undefined;
3.
return (type === "Null" && obj === null) ||
4.
(type === "Undefined" && obj === undefined ) ||
5.
_toString.call(obj).slice(8,-1) === type;
6.};
用法如下:
01.//***************示例一,判定数组与函数
02.
var forEach = function(array,fn,bind){
03.
if(is(array,"Array") && is(Array.forEach,"Function")){
04.
array.forEach(fn,bind);
05.
}else{
06.
for(var i=0,n=array.length;i
i in array && fn.call(bind,array[i],i,array)
08.
}
09.
}
10.
}
11.//***************示例二,判定null
12.var a = null
13.alert(is(a,"Null"))
14.//***************示例二,判定undefined
15.var b
16.alert(is(b,"Undefined"))
另一个变种,直接返回表示类型的字符串
1.var getType = function (obj) {
2.
var _toString = Object.prototype.toString,undefined;
3.
return obj === null? "Null":
4.
obj === undefined ? "Undefined":
5.
_toString.call(obj).slice(8,-1);
6.};
用法:
01.var arr = [1,2,3,4]
02.
alert(getType(arr));//Array
03.
var nil = null
04.
alert(getType(nil))//Null
05.
var und ;
06.
alert(getType(und))//Undefined
07.
var spans = document.getElementsByTagName("span");
08.
alert(getType(spans)) //HTMLCollection
09.
alert(getType(spans[0].childNodes))//NodeList
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
手写 Spring AI Agent:让大模型自主规划任务,ReAct 模式全流程拆解
一文讲透单点登录原理(SSO):从同域共享到跨域票据
【SpringAIAlibaba新手村系列】(18)Agent 智能体与今日菜单应用
CompletableFuture 异步编程全解:核心能力、编排方案、异常处理与超时控制
【从0到1构建一个ClaudeAgent】规划与协调-技能
Spring AI Advisors:从链式增强到递归顾问
ReentrantLock 与 synchronized对比
VS Code Java开发配置与使用经验分享
2026年Java AI开发实战:Spring AI完全指南
【从0到1构建一个ClaudeAgent】规划与协调-TodoWrite
AI精选
