function( o, // object h, // hash name (e.g. "qSA" for "querySelectorAll") i, // property name placeholder a // arguments placeholder ){ // prepare arguments a=[].slice.call(arguments, 2); // search all properties/methods for (i in o) // if the shortened property/method name matches the hash name if (h == i.replace(/(^.|[A-Z])[a-z]*/g, "$1")) // return the result of the call if arguments present or otherwise the property return a[0] ? o[i].apply(o,a) : o[i] }