1.对象是什么
定义对象的三种方法
let person = new Object();//定义一个对象
person.name = "zjl";//对象的属性
person.age = 23;
person.sex = "wumen";
// 或
let person1 = { name: "zjl", age: 23, sex: "wumen" };
// 或者使用构造器
function person2(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
let me = new person2("zjl", "23", "wumen");
2.判断对象是否为空
2.1 讲json对象转化为json字符串
let obj1 = {};
console.log(JSON.stringify(obj1));
2.3 for...in循环判断
let obj2 = {};
let b = function () {
for (var key in obj2) {
return false;
}
return true;
}
console.log(b());//true
2.3jquery的isEmptyObject方法
此方法是jquery将2方法(for in) 进行封装,使用时需要依赖jquery
let data = {};
let b = $.isEmptyObject(data);
alert(b);//true
2.4.Object.getOwnPropertyNames()方法
此方法是使用Object对象的getOwnPropertyNames方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空
注意:此方法不兼容ie8
let obj4 = {};
let arr4 = Object.getOwnPropertyNames(obj4);
console.log(arr4.length == 0); //true
2.5使用ES6的Object.keys()方法
与4方法类似,是ES6的新方法, 返回值也是对象中属性名组成的数组
let obj5 = {};
let arr5 = Object.keys(obj5);
console.log(arr.length == 0);//true