<template>
<div id="app">
<h2>JavaScript判断是否为空对象的几种方法</h2>
<button @click="handerNullObj">1、空对象对应的字符串为 "{}"</button>
<button @click="handerForIn">2、for in</button>
<button @click="handerGetOwnPropertyNames">3、Object.getOwnPropertyNames()</button>
<button @click="handerKeys">4、ES6 的 Object.keys()</button>
</div>
</template>
<script>
export default {
name: 'App',
data(){
return {
}
},
methods:{
// 1、空对象对应的字符串为 "{}"
handerNullObj(){
let data = {};
let b = JSON.stringify(data) == "{}";
console.log(b); // true
},
// 2、for in
handerForIn(){
let obj = {};
let b = function () {
for (let key in obj) {
return false;
}
return true;
};
console.log(b()); //true
},
// 3、Object.getOwnPropertyNames()
// Object 对象的 getOwnPropertyNames 方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的 length 来判断此对象是否为空。
handerGetOwnPropertyNames(){
let data = {};
let arr = Object.getOwnPropertyNames(data);
console.log(arr.length == 0); // true
},
// 4、ES6 的 Object.keys()
// 此方法也是返回对象中属性名组成的数组。
handerKeys(){
let data = {};
let arr = Object.keys(data);
console.log(arr.length == 0); // true
},
}
}
</script>
<style scoped>
</style>
网友评论