eg:var obj = {}
var b = function () {
for (var key in obj) {
return false
}
return true
}
console.log(b()) // true
2、对象序列化(将对象转换为字符串)后进行判断
eg:var data = {}
var b = (JSON.stringify(data) == "{}")
console.log(b) // true
3、jquery的isEmptyObject()方法
eg: var data = {}
var b = $.isEmptyObject(data)
console.log(b) // true
4、Object.getOwnPropertyNames()方法
eg: var data = {}
var arr = Object.getOwnPropertyNames(data)
console.log(arr.length == 0) // true
5、ES6中的Object.keys()方法
eg: var data = {}
var arr = Object.keys(data)
console.log(arr.length == 0) // true
//js中创建对象有两种方法:
//1、对象字面量法
var o1={name:"aaa",age:17}
//2、构造函数法
var o2=new Object()
o2.name="bbb"
o2.age=20
对象是复杂数据类型,定义了无序键值对的集合
delect obj.name 删除属性名和值
obj.name = undefined 删除属性值
name in obj &&name === undefined 判断含有属性名,但值为undefined
注意 name === undefined 不能判定 name 是否为 obj 的属性
Object.key(obj) 查看对象的所有属性名
Object.values(obj) 查看对象的所有属性值
Object.entries(obj) 查看对象的所有属性名和属性值
console.dir(obj) 查看共有属性和自身属性
name in obj 判断属性名是否存在,不会区分自身属性和共有属性
obj.hasOwnProperty('name') 判断对象自身拥有的属性,不包含共有属性
属性存在则修改,没有则增加
批量赋值,ES6 新出
Object.assign(obj, {p1 = 1, p2 = 2, p3 = 3})