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判断checkbox(复选框)是否被选中以及全选、反选实现代码
Feb 21 Javascript
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
JQuery简单实现锚点链接的平滑滚动
May 03 Javascript
jquery获取文档高度和窗口高度汇总
Jan 25 Javascript
微信小程序实现下拉刷新和轮播图效果
Nov 21 Javascript
完美解决iview 的select下拉框选项错位的问题
Mar 02 Javascript
基于JS实现html中placeholder属性提示文字效果示例
Apr 19 Javascript
Angular设置别名alias的方法
Nov 08 Javascript
微信小程序wx.request拦截器使用详解
Jul 09 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
Jan 11 jQuery
vue操作dom元素的3种方法示例
Sep 20 Javascript
JavaScript实现点击出现子菜单效果
Feb 08 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
人大复印资料处理程序_输入篇
2006/10/09 PHP
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
jQuery MD5加密实现代码
2010/03/15 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
django 外键创建注意事项说明
2020/05/20 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
Servlet如何得到客户端机器的信息
2014/10/17 面试题
采购部岗位职责
2013/11/24 职场文书
好家长事迹材料
2014/01/23 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
家长反馈意见及建议
2015/06/03 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
争做文明公民倡议书
2019/06/24 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android