用for..in循环

用for in循环对象,如果进入循环返回false没进入循环就返回true

function isEmpty(obj) {
  for (const key in obj) {
      // 判断自身的属性
      if (obj.hasOwnProperty(key)) {
        return false
      }
    }
    return true;
  }

用ES6的Object.keys()

用ES6的Object.keys()会返回对象的所有key组成的数组,再通过判断keys是否为空来判断对象是否为空

function isEmpty(obj) {
  const keys = Object.keys(obj)
  // 判断数组是否为空
  return keys == false
}

转换成JSON判断

用JSON.stringify转成json字符串来判断

function isEmpty(obj) {
  return JSON.stringify(obj) === '{}'
}

标签: js

评论

我们在初始化一个构造函数实例时,需要用new操作符去初始化实例,那么我们在new 一个构造函数的时候new到底为我们做了什么呢?