Skip to content
索引

Object

JavaScript 中的所有事物都是对象,objectfunctionarray都属于引用类型object,即广义上的对象

对象为空

js
JSON.stringify(data) == "{}"
JSON.stringify(data) == "{}"
js
Object.keys(obj).length === 0
Object.keys(obj).length === 0
js
const isEmpty = (obj) => {
  for (let i in obj) {
    return false
  }
  return true
}
const isEmpty = (obj) => {
  for (let i in obj) {
    return false
  }
  return true
}

Object.values

Object.values获取对象所有值,合并为数组

js
const data = { name: 'lhl' }
console.log(Object.values(data)) // ['lhl']
const data = { name: 'lhl' }
console.log(Object.values(data)) // ['lhl']

Object.keys

Object.keys获取对象所有 key,合并为数组

js
const data = { name: 'lhl' }
console.log(Object.keys(data)) // ['name']
const data = { name: 'lhl' }
console.log(Object.keys(data)) // ['name']

Object.assign

Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象

js
const target = { a: 1, b: 2 }
const source = { b: 4, c: 5 }
const returnedTarget = Object.assign(target, source)
console.log(target)
console.log(returnedTarget)
const target = { a: 1, b: 2 }
const source = { b: 4, c: 5 }
const returnedTarget = Object.assign(target, source)
console.log(target)
console.log(returnedTarget)

Function-函数

函数声明/普通函数

js
function a(){}
function a(){}

函数表达式

js
const a = function () {}
const a = function () {}

构造函数

js
function Fn(name) {
    this.name=name
}
let fn = new Fn('constructor function')
function Fn(name) {
    this.name=name
}
let fn = new Fn('constructor function')

匿名函数

js
function(){}
function(){}

对象中的函数

js
const obj = {
  a: function () {},
  b() {}
}
const obj = {
  a: function () {},
  b() {}
}

Function-this指向

调用方式this指向
函数声明严格模式下是undefined,正常模式是Window
函数表达式严格模式下是undefined,正常模式是Window
构造函数实例对象
对象中的函数该函数所属的对象
事件绑定方法当前事件所绑定的对象
定时器函数Window
立即执行函数(自调用函数严格模式下是undefined,正常模式是Window

Released under the MIT License.