js判断对象是否为空对象的几种方法

JavaScript012

js判断对象是否为空对象的几种方法,第1张

1.将json对象转化为json字符串,再判断该字符串是否为"{}"

var data={}

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

if(b==true){

    console.log('是的')

}else{

    console.log('不是')

}

2.for in 循环判断

var obj = {}

var b = function() {

for(var key in obj) {

return false

}

return true

}

alert(b())//true

4.Object.getOwnPropertyNames()方法

此方法是使用Object对象的getOwnPropertyNames方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空

注意:此方法不兼容ie8,其余浏览器没有测试

var data = {}

var arr = Object.getOwnPropertyNames(data)

alert(arr.length == 0)//true

5.使用ES6的Object.keys()方法

与4方法类似,是ES6的新方法, 返回值也是对象中属性名组成的数组

var data = {}

var arr = Object.keys(data)

alert(arr.length == 0)//true

6.Object.keys(res.data.list).map(id =>{

  let bankList = {

    code: id,

    text: res.data.list[id]

  }

  this.columns.push(bankList)

})

首先你要了解 document.getElementById , getElementsByName,getElementsByTagName 三者之间的作用

ById:一般页面里ID是唯一的,用于准备定位一个元素 ;

ByName按元素的名称查找,返回一个同名元素的数组;

ByTagName:按HTML标签名查询,返回一个相同标签元素的数组 ;

(具体详细区别http://blog.csdn.net/binzai325/article/details/6777516)

根据你写的 代码 我感觉是想获得table 的 td.rows (而你写的是tb...table 的id 是tb?)

所以使用getElementsByTagName("td") .rows试试吧

js如何判断一个对象{}是否为空对象,没有任何属性

前段时间用js写了一个类似"angularjs"用于数据绑定的东西,功能是比较简单了,

通常应该传进来的是一个ArrayList JSON对象数组,

但有时候通过AJAX方法调用返回的是一个JSON对象,而不是数组!

为了兼容这种情况使用了以下代码:

[javascript] view plain copy

if (typeof model.rows === "object" &&!(model.rows instanceof Array)){

model.rows = [model.rows]

}