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


Posted in Javascript onFebruary 25, 2015

数组

     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 相关文章推荐
Highslide.js是一款基于js实现的网页中图片展示插件
Mar 30 Javascript
javascript 全角转换实现代码
Jul 17 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
Mar 15 Javascript
asp.net中System.Timers.Timer的使用方法
Mar 20 Javascript
js 立即调用的函数表达式如何写
Jan 12 Javascript
JS函数重载的解决方案
May 13 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
Jan 04 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
探索Vue高阶组件的使用
Jan 08 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
Sep 28 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 Javascript
Vue 实现前进刷新后退不刷新的效果
Jun 14 Javascript
Js可拖拽放大的层拖动特效实现方法
Feb 25 #Javascript
JS实现自适应高度表单文本框的方法
Feb 25 #Javascript
如何编写高质量JS代码(续)
Feb 25 #Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 #Javascript
javascript实现点击按钮让DIV层弹性移动的方法
Feb 24 #Javascript
JS+CSS实现仿新浪微博搜索框的方法
Feb 24 #Javascript
JS实现让访问者自助选择网页文字颜色的方法
Feb 24 #Javascript
You might like
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
php中strtotime函数性能分析
2016/11/20 PHP
论坛特效代码收集(落伍转发-不错)
2006/12/02 Javascript
javascript语言结构小记(一)
2011/09/10 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
xml转json的js代码
2012/08/28 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
JS字符串截取函数实例
2013/12/27 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
Python获取系统默认字符编码的方法
2015/06/04 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
在python 中实现运行多条shell命令
2019/01/07 Python
Python之循环结构
2019/01/15 Python
使用Python webdriver图书馆抢座自动预约的正确方法
2021/03/04 Python
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
个人务虚会发言材料
2014/10/20 职场文书
高校教师个人总结
2015/02/10 职场文书
村官个人总结范文
2015/03/03 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
六年级作文之自救
2019/12/19 职场文书
vue elementUI批量上传文件
2022/04/26 Vue.js