判断基本数据类型和引用类型的封装函数
2012-10-12 13:55
344 查看
function typeOf(value) { var type,toString=Object.prototype.toString, typeToString; if (value === null) { return 'null'; } type = typeof value; if (type === 'undefined' || type === 'string' || type === 'number' || type === 'boolean') { return type; } typeToString = toString.call(value); switch(typeToString) { case '[object Array]': return 'array'; case '[object Date]': return 'date'; case '[object Boolean]': return 'boolean'; case '[object Number]': return 'number'; case '[object RegExp]': return 'regexp'; } if (type === 'function') { return 'function'; } if (type === 'object') { if (value.nodeType !== undefined) { if (value.nodeType === 3) { return (/\S/).test(value.nodeValue) ? 'textnode' : 'whitespace'; } else { return 'element'; } } return 'object'; } }
相关文章推荐
- JS 对 基本数据类型 和 引用类型 的判断
- 深入解析js中基本数据类型与引用类型,函数参数传递的区别
- 函数的调用-基本数据类型/引用类型
- 通过Object.prototype.toString.call()--判断数据(基本、引用)类型
- java基本数据类型和引用类型的判断
- 基本数据类型的自动封装与拆箱
- js基本数据类型引用类型深复制浅复制
- java对象的一些基本操作,复制对象,判断是否为基本数据类型等
- 黑马程序员-基本数据类型与其封装类型
- java基本数据类型和其封装类
- Lua 函数参数万能转化基本数据类型
- java基本数据类型和引用数据类型
- js基本数据类型及判断方法
- Android SO逆向-基本数据类型及函数的工作原理
- 基本数据类型double和封装类型Double引起的bug
- this、super、final关键字(以及final修饰基本数据类型和引用类型的区别)
- iOS OC基本数据类型~封装和拆包
- 基本数据类型的包装类型作为参数传递,以及其他引用类型作为参数传递,以及List中值的交换的一些问题
- JavaScript学习笔记第一天——基本数据类型(值类型)和引用类型
- 数据库层model使用基本类型 View层model使用封装类型