Bug Tracker

Ticket #3330 (new feature)

Opened 3 months ago

jQuery.typeof and jQuery.isEmpty Utilities

Reported by: projectatomic Assigned to: anonymous
Type: feature Priority: major
Milestone: 1.3 Component: core
Version: 1.2.6 Keywords:
Cc: Needs: Review

Description

One of the best aspects of jQuery is its light weight. I have really taken advantage of some of its built in Utilities such as jQuery.extend() and jQuery.map(). I am definitely against bloated software, but I find myself writing these functions time and again. They are pretty utilitarian and not too huge. Just a suggestion (code borrowed from Crockford's Remedial JavaScript)

1. A better typeof function that actually returns 'array' for an array instead of 'object':

function typeOf(value) {

var s = typeof value; if (s === 'object') {

if (value) {

if (typeof value.length === 'number' &&

!(value.propertyIsEnumerable('length')) && typeof value.splice === 'function') {

s = 'array';

}

} else {

s = 'null';

}

} return s;

}

2. A simple isEmpty function that returns a boolean:

function isEmpty(o) {

var i, v; if (typeOf(o) === 'object') {

for (i in o) {

v = o[i]; if (v !== undefined && typeOf(v) !== 'function') {

return false;

}

}

} return true;

}

Attachments

Note: See TracTickets for help on using tickets.