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 相关文章推荐
JQuery循环滚动图片代码
Dec 08 Javascript
使用js正则控制input标签只允许输入的值
Jul 29 Javascript
jquery获取html元素的绝对位置和相对位置的方法
Jun 20 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
JS判断两个对象内容是否相等的方法示例
Apr 10 Javascript
微信小程序页面开发注意事项整理
May 18 Javascript
vue数据双向绑定的注意点
Jun 23 Javascript
vue移动端实现下拉刷新
Apr 22 Javascript
layui使用form表单实现post请求页面跳转的方法
Sep 14 Javascript
Vue+abp微信扫码登录的实现代码示例
Jan 06 Javascript
浅谈vue-props的default写不写有什么区别
Aug 09 Javascript
React-vscode使用jsx语法的问题及解决方法
Jun 21 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页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
2013/01/27 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
Python中除法使用的注意事项
2014/08/21 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
英国现代市场:ARKET
2019/04/10 全球购物
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
如何做好总经理助理
2013/11/12 职场文书
2015年三万活动总结
2015/03/25 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书