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 相关文章推荐
escape、encodeURI、encodeURIComponent等方法的区别比较
Dec 27 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
Oct 29 Javascript
javaScript函数中执行C#代码中的函数方法总结
Aug 07 Javascript
juery框架写的弹窗效果适合新手
Nov 27 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
jQuery插件MixItUp实现动画过滤和排序
Apr 12 Javascript
JavaScript中的函数(二)
Dec 23 Javascript
Js+Ajax,Get和Post在使用上的区别小结
Jun 08 Javascript
BootStrapValidator初使用教程详解
Feb 10 Javascript
JavaScript反弹动画效果的实现代码
Jul 13 Javascript
vue更改数组中的值实例代码详解
Feb 07 Javascript
详解vue中v-for的key唯一性
May 15 Vue.js
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
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
php读取csc文件并输出
2015/05/21 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
js获取当月最后一天实例代码
2013/11/19 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
js对象基础实例分析
2015/01/13 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
解决Python print输出不换行没空格的问题
2018/11/14 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
结婚周年感言
2014/02/24 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
golang 在windows中设置环境变量的操作
2021/04/29 Golang
Pytorch中的数据集划分&正则化方法
2021/05/27 Python
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers