JavaScript中判断变量是数组、函数或是对象类型的方法
作者:bea
数组 ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持。考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代。 代码如下: var isArray = Array.isArray || function(obj) { return Object.prototype.toString.call(obj) === '
数组
ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持。考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代。
代码如下:
var isArray = Array.isArray || function(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
函数
最简单且性能最好的办法就是 typeof obj == 'function'。考虑到某些版本浏览器存在的bug,最靠谱的办法是 Object.prototype.toString.call(obj) === '[object Function]'。
代码如下:
var isFunction = function(obj) {
return Object.prototype.toString.call(obj) === '[object Function]';
}
if(typeof /./ != 'function' && typeof Int8Array != 'object') {
isFunction = function(obj) {
return typeof obj == 'function';
}
}
对象
在JavaScript中复杂类型是对象,函数也是对象。对上述2者使用typeof,可以分别得到'object'和'function'。另外,还要排除null值的情况,因为typeof null 得到的也是 'object'。
代码如下:
var isObject = function(obj) {
var type = typeof obj;
return type === 'function' || type === 'object' && !!obj;
}
以上就是本文全部内容了,希望大家能够喜欢。
有用 | 无用
ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持。考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代。
代码如下:
var isArray = Array.isArray || function(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
函数
最简单且性能最好的办法就是 typeof obj == 'function'。考虑到某些版本浏览器存在的bug,最靠谱的办法是 Object.prototype.toString.call(obj) === '[object Function]'。
代码如下:
var isFunction = function(obj) {
return Object.prototype.toString.call(obj) === '[object Function]';
}
if(typeof /./ != 'function' && typeof Int8Array != 'object') {
isFunction = function(obj) {
return typeof obj == 'function';
}
}
对象
在JavaScript中复杂类型是对象,函数也是对象。对上述2者使用typeof,可以分别得到'object'和'function'。另外,还要排除null值的情况,因为typeof null 得到的也是 'object'。
代码如下:
var isObject = function(obj) {
var type = typeof obj;
return type === 'function' || type === 'object' && !!obj;
}
以上就是本文全部内容了,希望大家能够喜欢。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 2则自己编写的jQuery特效分享
- javascript制作网页图片上实现下雨效果
- js实现格式化金额,字符,时间的方法
- 如何减少浏览器的reflow和repaint
- 详谈javascript中DOM的基本属性
- jqueryUI里拖拽排序示例分析
- Jquery的基本对象转换和文档加载用法实例
- jQuery操作JSON的CRUD用法实例
- javascript实现复选框超过限制即弹出警告框的方法
- javascript获得当前的信息的一些常用命令
- javascript实现图像循环明暗变化的方法
- NodeJS中利用Promise来封装异步函数
- JS往数组中添加项性能分析
- 浅谈JavaScript中的String对象常用方法
- JS实现点击颜色块切换指定区域背景颜色的方法
- JavaScript生成的动态下雨背景效果实现方法
- JS实现进入页面时渐变背景色的方法
- JS实现让网页背景图片斜向移动的方法
- Javascript中获取对象的原型对象的方法小结