javascript语法基础系列之Object
对象的定义
JS中的所有事物都是对象,对象是属性和方法的集合,而类又是对象的抽象集合
JS 自带很多内部对象:String Date Array等
对象的创建,属性及方法的使用方法
1 | // 声明式创建 |
空对象的判断
如果只是判断对象未 null 或 undefined
1 | var obj; |
如果是判断对象没有任何可枚举属性
1 | var obj; |
注意:不要用 JSON.parse(str) == {}; 因为对象的值是引用类型的,引用地址不同就不相等
但是对象的属性也可以通过设置enumerable = false 为不可枚举的,那么通过上面的方法就没法判断对象是否具有某个属性了
对象的相等判定
一般比较对象的相等都是比较不为空的两个对象的相等
1 | {} == {}; // false 对象是引用类型的 引用地址不同就不相等 |
所以,一般我们比较两个对象是否相等是都是比较它们是否具有相同的属性和方法,以及它们对应的值是否相等,而不是通过 ‘==’ 来比较
对象属性的顺序
顺序和你的添加顺序无关,ES6 Map()支持有序的对象,不同的浏览器排序的规则也不相同,因此想跨浏览器最好使用数组