Here you can find the source of empty()
// Empty (object) Object.prototype.empty = function() { return Object.keys(this).length <= 0; }
Object.defineProperty(Object.prototype, 'keys_length', { enumerable:false, value:function() { var size = 0, key; for (key in this) { if (this.hasOwnProperty(key)) size++; return size; })
Object.prototype.getKeys = function(){ var keys = []; for (var key in this) { if (this.hasOwnProperty(key)) { keys.push(key); return keys
Object.prototype.getOwn = function(key, defaultValue) { if (this.hasOwnProperty(key)) { return this[key]; else { return defaultValue; };
Object.prototype.hasKey = function(skey){ for (var key in this) { if (this.hasOwnProperty(key)) { if(key==skey){ return true return false ...
Object.prototype.contains = function (key) { return this.hasOwnProperty(key); };
Object.prototype.isEmpty = function() { if (this == null) return true; if (this.length > 0) return false; if (this.length === 0) return true; for (var key in this) { if (hasOwnProperty.call(this, key)) return false; return true; }; ...