(1)for in:遍历对象的key
<script>
var obj = {a:1, b:2}
for(key in obj){
console.log(key)
// a
// b
}
</script>
如果对象非空,则一定会执行for in里面的代码,可以以此验证此对象是否是空对象
<script>
function ObjIsEmpty(obj){
var isEmpty = true
//如果存在任何一个属性,则将isEmpty赋值为false
for(key in obj){
isEmpty = false
}
return isEmpty
}
var obj = {}
var obj2 = {a:1, b:2}
console.log(ObjIsEmpty(obj)) //true
console.log(ObjIsEmpty(obj2)) //false
</script>
(2)Object.keys():返回一个数组,数组元素就是对象的所有key,之后可以用数组方法遍历该对象的所有key(包含所有可枚举属性)
<script>
var obj = {}
var obj2 = {a:1, b:2}
var keys = Object.keys(obj)
var keys2 = Object.keys(obj2)
console.log(keys) //[]
console.log(keys2) //[‘a‘,‘b‘]
//判断其长度,不为0则表示该对象非空
console.log(keys.length) // 0
console.log(keys2.length) //2
</script>
(3)Object.getOwnPropertyNames():返回一个数组,包含对象自身的所有属性(包括不可枚举属性)
<script>
var obj = {}
var obj2 = {a:1, b:2}
var keys = Object.getOwnPropertyNames(obj)
var keys2 = Object.getOwnPropertyNames(obj2)
console.log(keys) //[]
console.log(keys2) //[‘a‘,‘b‘]
//判断其长度,不为0则表示该对象非空
console.log(keys.length) // 0
console.log(keys2.length) //2
</script>
(1)通过JSON.stringify()可将对象转换成JSON字符串
<script>
var obj = {}
var obj2 = {a:1, b:2}
console.log(JSON.stringify(obj)) //{}
console.log(JSON.stringify(obj2)) //{a:1, b:2}
</script>
可以以此判断对象是否为空
<script>
var obj = {}
var obj2 = {a:1, b:2}
function ObjIsEmpty(obj){
if(JSON.stringify(obj) === ‘{}‘){
return true
}else{
return false
}
}
console.log(ObjIsEmpty(obj)) //true
console.log(ObjIsEmpty(obj2)) //false
</script>
(2)通过JSON.parse()可将JSON字符串转换成对象
<script>
var objStr = ‘{"a":1, "b":2}‘
var obj = JSON.parse(objStr)
console.log(obj.a,obj.b) //1 2
</script>
原文:https://www.cnblogs.com/OrochiZ-/p/13976830.html