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 动态添加表格行 使用模板、标记
Oct 24 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
Sep 03 Javascript
网页防止tab键的使用快速解决方法
Nov 07 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
May 04 Javascript
javascript实现表格排序 编辑 拖拽 缩放
Jan 02 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
Sep 04 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Oct 05 Javascript
vue-resourse将json数据输出实例
Mar 08 Javascript
jQuery动态产生select option下拉列表
Mar 15 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
微信小程序+云开发实现欢迎登录注册
May 24 Javascript
Vue详细的入门笔记
May 10 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
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
laradock环境docker-compose操作详解
2019/07/29 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
详解Python中的元组与逻辑运算符
2015/10/13 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
详解python的数字类型变量与其方法
2016/11/20 Python
python取代netcat过程分析
2018/02/10 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
10张动图学会python循环与递归问题
2021/02/06 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
易程科技软件测试笔试
2013/03/24 面试题
教师年终个人自我评价
2013/10/04 职场文书
六一儿童节主持词
2014/03/21 职场文书