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 Math.ceil() 函数使用介绍
Dec 11 Javascript
JS计算网页停留时间代码
Apr 28 Javascript
JsRender实用入门教程
Oct 31 Javascript
js实现的牛顿摆效果
Mar 31 Javascript
jQuery实现的背景动态变化导航菜单效果
Aug 24 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
jquery判断input值不为空的方法
Jun 05 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
Aug 19 Javascript
js上下视差滚动简单实现代码
Mar 07 Javascript
js 数字、字符串、布尔值的转换方法(必看)
Apr 07 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
如何通过简单的代码描述Angular父组件、子组件传值
Apr 07 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/10/19 PHP
PHP 事件机制(2)
2011/03/23 PHP
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
用javascript控制iframe滚动的代码
2007/04/10 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
wxpython 学习笔记 第一天
2009/02/09 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
物流仓储实习自我鉴定
2013/09/25 职场文书
毕业生动漫设计求职信
2013/10/11 职场文书
2014年学前班工作总结
2014/12/08 职场文书
《失物招领》教学反思
2016/02/20 职场文书
深入理解go slice结构
2021/09/15 Golang