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 迁移目录
Dec 18 Javascript
做网页的一些技巧
Feb 01 Javascript
在页面上点击任一链接时触发一个事件的代码
Apr 07 Javascript
如何将一个String和多个String值进行比较思路分析
Apr 22 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
Oct 14 Javascript
JavaScript和CSS交互的方法汇总
Dec 02 Javascript
深入理解JavaScript中为什么string可以拥有方法
May 24 Javascript
jQuery文字提示与图片提示效果实现方法
Jul 04 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
Dec 02 Javascript
angular和BootStrap3实现购物车功能
Jan 25 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
Nov 24 Javascript
详解vue中多个有顺序要求的异步操作处理
Oct 29 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 生成微信红包代码简单
2016/03/25 PHP
JQuery 常用操作代码
2010/03/14 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
js 金额文本框实现代码
2012/02/14 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
python socket 超时设置 errno 10054
2014/07/01 Python
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
Python中文竖排显示的方法
2015/07/28 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
python with (as)语句实例详解
2020/02/04 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
Django 实现对已存在的model进行更改
2020/03/28 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
如何基于Python和Flask编写Prometheus监控
2020/11/25 Python
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
业务员岗位职责范本
2013/12/15 职场文书
运动会广播稿200米
2014/01/27 职场文书
安全生产汇报材料
2014/02/17 职场文书
小区消防演习方案
2014/02/21 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
企业整改报告范文
2014/11/08 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python