javascript判断对象、字符串、数组是否为空(兼容绝大部分浏览器)

来源:互联网 发布:致远互联 京华网络 编辑:程序博客网 时间:2024/05/16 15:46

// 用变量保存可以加速对对象原型的hasOwnProperty的访问。var hasOwnProperty = Object.prototype.hasOwnProperty;function isEmpty(obj) {    // 本身为空直接返回true    if (obj == null) return true;    // 然后可以根据长度判断,在低版本的ie浏览器中无法这样判断。    if (obj.length > 0)    return false;    if (obj.length === 0)  return true;    //最后通过属性长度判断。    for (var key in obj) {        if (hasOwnProperty.call(obj, key)) return false;    }    return true;}例子:
isEmpty(""), // trueisEmpty([]), // trueisEmpty({}), // trueisEmpty({length: 0, custom_property: []}), // trueisEmpty("Hello"), // falseisEmpty([1,2,3]), // falseisEmpty({test: 1}), // falseisEmpty({length: 3, custom_property: [1,2,3]}) // false

0 0