es5.js, keys(): explain the use of Object.prototype.hasOwnProperty and optimize