JavaScript即学即用教程[6]-普通对象操作
属性特性
对象的属性也有自己的特性,通过Object.getOwnPropertyDescription(obj, attName)可以查看。所以属性的特性其实也可以叫做属性的描述符。
凡是属性描述符中的configuable为true的属性,才可以delete。如Object.prototype就不可以delete。
obj.propertyIsEnurerable可以判断属性是否可枚举。
通过描述的方式来给对象定义属性,可以通过 Object.defineProperty(obj, ‘name’, {}) 的方式来实施。
遍历对象
可以通过for in 来遍历,for in也会遍历到对象的原型链上的属性。 而Object.keys()可以获取到对象上自有的所有属性的key值,返回的是key值组成的数组。
对象深度克隆
考察知识点比较多,考到了对象遍历,对象类型判断,递归,以及普通对象操作的API
1 | function deepClone (obj) { |