zoukankan      html  css  js  c++  java
  • 贴几个常用的基础函数

    取自jsGen的tool.js  

      function isArray(obj) {
            return Array.isArray ? Array.isArray(obj) : Object.prototype.toString.call(obj) === '[object Array]';
        }
    
        function isNull(obj) {
            return obj === null || obj === undefined || obj !== obj;
        }
    
        function toStr(value) {
            return isNull(value) ? '' : value + '';
        }
    
        function hasOwn(obj, key) {
            return Object.prototype.hasOwnProperty.call(obj, key);
        }
    
        function isEmpty(obj) {
            for (var key in obj) {
                if (hasOwn(obj, key)) {
                    return false;
                }
            }
            return true;
        }
    
        function checkType(obj) {
            var type = typeof obj;
            if (obj === null) {
                return 'null';
            } else if (isArray(obj)) {
                return 'array';
            } else {
                return type;
            }
        }
    
        function trim(str, strict) {
            return toStr(str).
            replace(strict ? (/s+/g) : (/ +/g), ' ').
            replace(/^s+/, '').
            replace(/s+$/, '');
        }
    
        function each(obj, iterator, context, arrayLike, right) {
            iterator = iterator || angular.noop;
            if (!obj) {
                return;
            } else if (arrayLike || isArray(obj)) {
                if (!right) {
                    for (var i = 0, l = obj.length; i < l; i++) {
                        if (iterator.call(context, obj[i], i, obj) === breaker) {
                            return;
                        }
                    }
                } else {
                    for (var i = obj.length - 1; i >= 0; i--) {
                        if (iterator.call(context, obj[i], i, obj) === breaker) {
                            return;
                        }
                    }
                }
            } else {
                for (var key in obj) {
                    if (hasOwn(obj, key)) {
                        if (iterator.call(context, obj[key], key, obj) === breaker) {
                            return;
                        }
                    }
                }
            }
        }
    // 去除数组中的undefined值,修改原数组,返回原数组
    
        function digestArray(list) {
            var result = [];
            if (isArray(list)) {
                each(list, function (x, i) {
                    if (checkType(x) === 'undefined') {
                        list.splice(i, 1);
                    }
                }, null, true, true);
    
            }
            return list;
        }
  • 相关阅读:
    转 Hystrix超时实现机制
    Hystrix实现ThreadLocal上下文的传递 转
    MongoDB里做表间关联
    转载:mongodb的两阶段提交实战
    MongoDB中的读写锁
    Mongodb中的 原子性 隔离性
    web服务优化
    MongoDB分片(Sharding)技术
    MongoDB复制集
    consul分布式集群搭建
  • 原文地址:https://www.cnblogs.com/wssdzf/p/3334964.html
Copyright © 2011-2022 走看看