zoukankan      html  css  js  c++  java
  • Array对象的判定

      /*
        关于JS对象类型的判断,最复杂的在于RegExp和Array了,判定RegExp的情形不较少,而Array就比较多了,下面就是判断Array的方法
         */
    
        //方法一:利用instanceof来判断对象是不是Array的实例
        function isArray(arr){
            return arr instanceof Array;
        }
    
        //方法二:利用constructor来判断
        function isArray(arr)
        {
            return !!arr && arr.constructor==Array;
        }
    
        //方法三:利用constructor和array的内置属性(实例方法)来判断一个对象是否是Array类型
        function isArray(arr) {
            return arr && typeof arr==="object" &&  'splice' in arr && 'join' in arr;
        }
    
        //方法四:通过sort方法的类型判断arr是不是Array对象的实例
        function isArray(arr)
        {
            return typeof arr.sort==="function";
        }
    
        //方法五:通过Array.prototype.toString.call()方法来判断对象
        function isArray(o) {
            try
            {
                Array.prototype.toString.call(o);
                return true;
            }
            catch (e)
            {}
            return false;
        }
    
        //方法六:通过typeof和数组的length属性来判断
        function isArray(o) {
            if(o && typeof o=="object" && typeof o.length=="number" && isFinite(o.length))
            {
                //通过length属性是否符合原生数组的length的特性来进行双重判定
                var _originalLength=o.length;
                o[o.length]="_test_";
                var _newLength=o.length;
                o.length=_originalLength;
                return _newLength==o.length+1;
            }
            return false;
        }
    
        //方法七:
        function isArray(array) {
            var result=false;
            try
            {
                new array.constructor(Math.pow(2,32));
            }
            catch(e)
            {
                result=/Array/.test(e.message);
            }
            return result;
        }
  • 相关阅读:
    关于Tortoise git汉化包装了,不管用,仍然是英文菜单的问题记录
    《EM-PLANT仿真技术教程》读书笔记
    使用java8的lambda将list转为map(转)
    mybatis动态sql中的trim标签的使用(转)
    python变量与常量内容:
    变量与常量
    计算机与操作系统小结
    编程与计算机基础
    元类
    爬虫百度图片
  • 原文地址:https://www.cnblogs.com/GreenLeaves/p/6437679.html
Copyright © 2011-2022 走看看