javascript 类型判断代码分析
作者:bea
代码如下: 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; } //原文中有小括号包裹每个逻辑与
代码如下:
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 深拷贝
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- js setTimeout实现延迟关闭弹出层
- JS 遮照层实现代码
- js压缩工具 yuicompressor 使用教程
- jQuery 遍历json数组的实现代码
- Javascript load Page,load css,load js实现代码
- Javascript Jquery 遍历Json的实现代码
- jquery+json实现的搜索加分页效果
- EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
- ExtJS TabPanel beforeremove beforeclose使用说明
- Jquery 常用方法一览表(集合)
- 十个优秀的Ajax/Javascript实例网站收集
- javascript中的107个基础知识收集整理 推荐
- jquery CSS选择器笔记
- Tinymce+jQuery.Validation使用产生的BUG
- javascript delete 使用示例代码
- JavaScript 格式字符串的应用
- js DataSet数据源处理代码
- javascript 变态的节点集合
- javascript 节点遍历函数