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中实现类的方式探讨
Aug 28 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
Sep 23 Javascript
javascript full screen 全屏显示页面元素的方法
Sep 27 Javascript
jQuery插件jquery-barcode实现条码打印的方法
Nov 25 Javascript
第六章之辅组类与响应式工具
Apr 25 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 Javascript
jquery实现图片轮播器
May 23 jQuery
写给vue新手们的vue渲染页面教程
Sep 01 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
Oct 17 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
Feb 06 Javascript
Vue多系统切换实现方案
Jun 05 Javascript
解决vue-router路由拦截造成死循环问题
Aug 05 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
mysq GBKl乱码
2006/11/28 PHP
php采集速度探究总结(原创)
2008/04/18 PHP
php学习笔记 数组的常用函数
2011/06/13 PHP
laravel中的一些简单实用功能
2018/11/03 PHP
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
Python中的作用域规则详解
2015/01/30 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
Django框架反向解析操作详解
2019/11/28 Python
python 实现多维数组(array)排序
2020/02/28 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
家乐福巴西网上超市:Carrefour巴西
2016/10/31 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
师范生个人推荐信
2013/11/29 职场文书
会计职业生涯规划书
2014/01/13 职场文书
cf搞笑广告词
2014/03/14 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
教师先进事迹材料
2014/12/16 职场文书
2015大学生求职信范文
2015/03/20 职场文书
项目投资意向书范本
2015/05/09 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书