最近,这个项目遇到了判断空物体的问题。请参考相关数据,再次总结。
判断空对象不像判断空字符串,因为空对象也是一个对象,需要单独分配内存,而不是像字符串一样空的时候是一个大锅,大家都是平等的,如下代码所示:
从上面的代码可以发现,由文字对象创建的空对象和由对象构造函数创建的空对象是不相等的。
1.将对象转换成字符串进行比较
这个方法不推荐,但也是最容易想到的。它主要使用JSON.stringify()对对象进行强转换,粘贴只是为了看一下:
var a={ };var b=新对象();Console.log('对象的文字量的比较结果:'(JSON。Stringify (a)=' {}') Console.log('构造函数的比较结果:'(JSON . stringify(b)=' { } ')我们可以得到两种空对象转换成字符串后的比较是真的。
2 .用于循环中
使用for in循环遍历所有属性以确定对象是否为空:
var a={ };var b=新对象();函数isEmptyObject(obj){ for(obj中的var键){ return false };返回true };If(isEmptyObject(a)){ alert('a是空对象')}if(isEmptyObject(b)){ alert('b是空对象')}使用for in循环来循环对象,数组的对应循环是下标,例如:
var b=['hello ',' my ',' world ']for(b中的var index){ console . log(b[index]);}//你好我的世界以上是边肖带来的全部内容(标题),希望大家多多支持~