How best to convert a ClientRect / DomRect into a plain Object
问题 The result of someElement.getBoundingClientRect() returns a special object of type ClientRect (or DomRect apparently) It is structured like {top: 10, right: 20, bottom: 30, left: 10, width: 10} Unfortunately, this object does not behave quite like other objects. For example, using Object.keys on it returns an empty array (I think because ClientRect properties are not enumerable I found something of a dirty way to convert to a plain object: var obj = {} for (key in rect) { obj[key] = rect[key]