JavaScript中判断变量是数组、函数或是对象类型的方法

 更新时间:2015年02月25日 10:29:09   投稿:hebedich  
这篇文章主要介绍了JavaScript中判断变量是数组、函数或是对象类型的方法,需要的朋友可以参考下

数组

     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;
}

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

相关文章

  • mpvue网易云短信接口实现小程序短信登录的示例代码

    mpvue网易云短信接口实现小程序短信登录的示例代码

    这篇文章主要介绍了mpvue网易云短信接口实现小程序短信登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Javascript实现前端简单的路由实例

    Javascript实现前端简单的路由实例

    本文将使用javascript实现一个极其简单的路由实例。WEB开发中路由概念并不陌生,我们接触到的有前端路由和后端路由。后端路由在很多框架中是一个重要的模块,同样前端路由在单页面应用也很常见,它使得前端页面体验更流畅。
    2016-09-09
  • JS解析XML的实现代码

    JS解析XML的实现代码

    用javascript实现XML的解析的实现代码,需要的朋友可以参考下。
    2009-11-11
  • 纯JS实现可拖拽表单的简单实例

    纯JS实现可拖拽表单的简单实例

    下面小编就为大家带来一篇纯JS实现可拖拽表单的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • ES6 迭代器 Iterator使用总结

    ES6 迭代器 Iterator使用总结

    ES6引入了Iterator(迭代器)接口,用于顺序访问可迭代对象,Iterator接口提供统一的访问接口,并通过for...of循环供消费,本文给大家介绍ES6 迭代器 Iterator使用总结,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • 微信小程序删除处理详解

    微信小程序删除处理详解

    这篇文章主要为大家详细介绍了微信小程序删除处理的相关代码,用小程序里的模态框实现删除,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • js一维数组、多维数组和对象的混合使用方法

    js一维数组、多维数组和对象的混合使用方法

    这篇文章主要介绍了js一维数组、多维数组和对象的混合使用方法,需要的朋友可以参考下
    2016-04-04
  • JavaScrip常见的一些算法总结

    JavaScrip常见的一些算法总结

    这篇文章主要介绍了JavaScrip常见的一些算法总结的相关资料,需要的朋友可以参考下
    2015-12-12
  • bootstrap如何让dropdown menu按钮式下拉框长度一致

    bootstrap如何让dropdown menu按钮式下拉框长度一致

    bootstrap框架提供了下拉菜单组件(dropdown),即点击一个元素或按钮,触发隐藏的列表显示出来。下面通过本文给大家介绍bootstrap如何让dropdown menu按钮式下拉框长度一致,需要的朋友可以参考下
    2017-04-04
  • JS测试显示屏分辨率以及屏幕尺寸的方法

    JS测试显示屏分辨率以及屏幕尺寸的方法

    如何用JS特效显示自己的屏幕分辨率以及屏幕尺寸呢,你会吗?如果不会,那么下面有个不错的方法,大家可以参考下
    2013-11-11

最新评论