js判断对象的几种方法

JavaScript017

js判断对象的几种方法,第1张

1、for in 循环

eg:var obj = {}

        var b = function () {

            for (var key in obj) {

                return false

            }

            return true

        }

        console.log(b())  // true

2、对象序列化(将对象转换为字符串)后进行判断

eg:var data = {}

        var b = (JSON.stringify(data) == "{}")

        console.log(b)  // true

3、jquery的isEmptyObject()方法

eg:  var data = {}

        var b = $.isEmptyObject(data)

        console.log(b)  // true

4、Object.getOwnPropertyNames()方法

eg:  var data = {}

        var arr = Object.getOwnPropertyNames(data)

        console.log(arr.length == 0)  // true

5、ES6中的Object.keys()方法

eg:  var data = {}

        var arr = Object.keys(data)

        console.log(arr.length == 0)  // true

本来判断一个对象类型用typeof是最好的,不过对于Array类型是不适用的

可以使用 instanceof操作符

var arrayStr=new Array("1","2","3","4","5")

alert(arrayStr instanceof Array)

当然以上在一个简单的页面布局里面是没有问题的,如果是复杂页面情况,入获取的是frame内部的Array对象,可以用这个函数判断:

function isArray(obj) {

return Object.prototype.toString.call(obj) === '[object Array]'

}