javascript 类型判断代码分析


Posted in Javascript onMarch 28, 2010
var is = function(obj,type){ 
var toString=Object.prototype.toString,undefined; 
return obj===null&&type==='Null'|| 
obj===undefined&&type==='Undefined'|| 
toString.call(obj).slice(8,-1)===type; 
} 
//原文中有小括号包裹每个逻辑与运算,但根据运算符优先级,括号可以省略 
//第一行声明undefined,个人理解是为了提高性能,不必再去顶级作用域中查询undefined.

根据ECMA-262中的解释,Object.prototype.toString(),将返回对象实例的类型,返回格式"[object ", class, and "]"字符串。
所以 通过 slice截取'class'值,也就是类型值。
其中null与undefined例外,因为他们返回的是
IE中[object Object]
标准浏览器[object Window]。
因此单独拿出判断。
相关文章:javascript 深拷贝

Javascript 相关文章推荐
javascript json2 使用方法
Mar 16 Javascript
一个网页标题title的闪动提示效果实现思路
Mar 22 Javascript
js动态移动滚动条至底部示例代码
Apr 24 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
Feb 16 Javascript
Boostrap模态窗口的学习小结
Mar 28 Javascript
利用VUE框架,实现列表分页功能示例代码
Jan 12 Javascript
详解AngularJS controller调用factory
May 19 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
浅谈ajax请求不同页面的微信JSSDK问题
Feb 26 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
Sep 27 Javascript
小程序click-scroll组件设计
Jun 18 Javascript
react MPA 多页配置详解
Oct 18 Javascript
js chrome浏览器判断代码
Mar 28 #Javascript
JavaScript 学习笔记一些小技巧
Mar 28 #Javascript
JavaScript 学习笔记二 字符串拼接
Mar 28 #Javascript
jQuery 美元符冲突的解决方法
Mar 28 #Javascript
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 #Javascript
Jquery 1.42 checkbox 全选和反选代码
Mar 27 #Javascript
网络图片延迟加载实现代码 超越jquery控件
Mar 27 #Javascript
You might like
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
php小偷相关截取函数备忘
2010/11/28 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
php PDO异常处理详解
2016/11/20 PHP
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
每天一篇javascript学习小结(属性定义方法)
2015/11/19 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
Python中AND、OR的一个使用小技巧
2015/02/18 Python
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python单例模式实例解析
2018/08/28 Python
Python time库基本使用方法分析
2019/12/13 Python
Python函数式编程实例详解
2020/01/17 Python
测试驱动开发的主要步骤是什么
2014/12/10 面试题
中医药大学毕业生自荐信
2013/11/08 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
小学班主任评语
2014/12/29 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
聘任合同书
2015/09/21 职场文书