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 相关文章推荐
贴一个在Mozilla中常用的Javascript代码
Jan 09 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
Apr 20 Javascript
jquery load事件(callback/data)使用方法及注意事项
Feb 06 Javascript
js 表单提交后按钮变灰的实例代码
Aug 16 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
jQuery中:reset选择器用法实例
Jan 04 Javascript
使用JS画图之点、线、面
Jan 12 Javascript
浅析JavaScript回调函数应用
May 22 Javascript
全面理解闭包机制
Jul 11 Javascript
JavaScript实现自定义媒体播放器方法介绍
Jan 03 Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
JavaScript面试中常考的字符串操作方法大全(包含ES6)
May 10 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阿拉伯数字转中文人民币大写
2015/12/21 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
Vue header组件开发详解
2018/01/26 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
JavaScript实现前端倒计时效果
2021/02/09 Javascript
pyqt4教程之widget使用示例分享
2014/03/07 Python
Python中的__SLOTS__属性使用示例
2015/02/18 Python
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
python单元测试unittest实例详解
2015/05/11 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
公司综合部的成员自我评价分享
2013/11/05 职场文书
家长给孩子的表扬信
2014/01/17 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
节约用水广告语60条
2019/11/14 职场文书