1. 程式人生 > >javascript isEmpty isNotEmpty 公共方法

javascript isEmpty isNotEmpty 公共方法

function isEmpty(obj) {
    try{
        if(obj == null || obj == undefined) {
            return true;
        }
        //判斷數字是否是NaN
        if(typeof obj === "number") {
            if(isNaN(obj)) {
                return true;
            } else {
                return false;
            }
        }
        //判斷引數是否是布林、函式、日期、正則,是則返回false
        if(typeof obj === "boolean" || typeof obj === "function" || obj instanceof Date || obj instanceof RegExp) {
            return false;
        }
        //判斷引數是否是字串,去空,如果長度為0則返回true
        if(typeof obj === "string") {
            if(obj.trim().length == 0) {
                return true;
            } else {
                return false;
            }
        }

        if(typeof obj === 'object') {
            //判斷引數是否是陣列,陣列為空則返回true
            if(obj instanceof Array) {
                if(obj.length == 0) {
                    return true;
                } else {
                    return false;
                }
            }

            //判斷引數是否是物件,判斷是否是空物件,是則返回true
            if(obj instanceof Object) {
                //判斷物件屬性個數
                if(Object.getOwnPropertyNames(obj).length == 0) {
                    return true;
                } else {
                    return false;
                }
            }
        }
    } catch(e) {
        console.log(e);
        return false;
    }
}



function isNotEmpty(obj) {
    try{
        if(obj == null || obj == undefined) {
            return false;
        }
        //判斷數字是否是NaN
        if(typeof obj === "number") {
            if(isNaN(obj)) {
                return false;
            } else {
                return true;
            }
        }
        //判斷引數是否是布林、函式、日期、正則,是則返回true
        if(typeof obj === "boolean" || typeof obj === "function" || obj instanceof Date || obj instanceof RegExp) {
            return true;
        }
        //判斷引數是否是字串,去空,如果長度為0則返回false
        if(typeof obj === "string") {
            if(obj.trim().length == 0) {
                return false;
            } else {
                return true;
            }
        }

        if(typeof obj === 'object') {
            //判斷引數是否是陣列,陣列為空則返回false
            if(obj instanceof Array) {
                if(obj.length == 0) {
                    return false;
                } else {
                    return true;
                }
            }

            //判斷引數是否是物件,判斷是否是空物件,是則返回false
            if(obj instanceof Object) {
                //判斷物件屬性個數
                if(Object.getOwnPropertyNames(obj).length == 0) {
                    return false;
                } else {
                    return true;
                }
            }
        }
    } catch(e) {
        console.log(e);
        return false;
    }
}