Object
JavaScript 中的所有事物都是对象,
object
,function
,array
都属于引用类型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 |