判断对象是否为空,js判断对象是否为空

作者:计算机知识

any判别dict,list,tuple是否为空

Object.keys(对象).length === 0
JSON.stringify(对象) === '{}'

看清三个指标是或不是为空对象,本文给出三种判断方法:

一、

 代码如下

  1. 最广大的思路,for...in...遍历属性,为真则为“非空数组”;不然为“空数组”

判断对象是否为空,js判断对象是否为空。if(!obj){

>>> eth = {“eth0″:”192.168.1.1″}

    var obj  = {};

>>> any(eth)

for (var i in obj) { // 如果不为空,则会执行到这一步,返回true
    return true
}
return false // 如果为空,返回false

}

True

2.通过JSON自带的stringify()措施来决断:

二、

>>> eth = {}

JSON.stringify() 方法用于将 JavaScript 值转变为 JSON 字符串。

if(!window.obj){

>>> any(eth)

if (JSON.stringify(data) === '{}') {
    return false // 如果为空,返回false
}
return true // 如果不为空,则会执行到这一步,返回true

    var obj  = {};

False

此地要求专一为啥不用toString(),因为它回到的不是我们须求的。

}

看清list是或不是为空

var a = {}
a.toString() // "[object Object]"

    window是javascript的顶层对象,全部的全局变量都是它的习性。所以,决断myobj是还是不是为空,等同于推断window对象是或不是有myobj属性,那样就能够幸免因为myObj未有概念而产出ReferenceError错误。不过,从代码的标准性思虑,最棒照旧对第二行加上var,

 

3.ES6新扩张的秘籍Object.keys():

    上边这种写法的症结在于,在少数运维碰到中(举个例子V8、Rhino),window未必是顶层对象

 代码如下

Object.keys()方法会再次来到三个由一个加以对象的我可枚举属性组成的数组。

三、

价值观的措施:
if len(mylist):
    # Do something with my list
else:
    # The list is empty
是因为二个空 list 自个儿一样 False,所以能够间接:
if mylist:
    # Do something with my list
else:
    # The list is empty

只要大家的对象为空,他会重返三个空数组,如下:

if (!this.myObj) {

var a = {}
Object.keys(a) // []

    this.myObj= { };

咱俩得以依附Object.keys()这些点子通过推断它的长短来精晓它是否为空。

}

本文由bwin必赢发布,转载请注明来源

关键词: 日记本 JavaScript TUDO web前端常用... 必赢亚洲626.