JavaScript中判断变量是数组、函数或是对象类型的方法
JavaScript中判断变量是数组、函数或是对象类型的方法
发布时间:2016-12-30 来源:查字典编辑
摘要:数组ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持。考虑到兼容性,在没有此方法的浏览器中,可以使...

数组

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;

}

以上就是本文全部内容了,希望大家能够喜欢。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类