src/probe.js
function mapPrototypes(vendor, protos, funcs) {
        var p, f, proto, func;

        // Loop over each prototype
        for (p = 0; (proto = protos[p]); p++) {

            // Loop over each function
            for (f = 0; (func = funcs[f]); f++) {

                // Skip if the function already exists on the prototype
                // We don't wont to cause collisions with built-ins or user defined
                if (!vendor[func] || proto[func] || proto.prototype[func]) {
                    continue;
                }

                // Objects can only use static methods
                // Applying to the prototype disrupts object literals
                if (proto === Object) {
                    proto[func] = vendor[func];
                } else {
                    extendPrototype.call(this, vendor, proto, func);
                }
            }
        }
    }
function mapPrototypes(vendor, protos, funcs) {
        var p, f, proto, func;

        // Loop over each prototype
        for (p = 0; (proto = protos[p]); p++) {

            // Loop over each function
            for (f = 0; (func = funcs[f]); f++) {

                // Skip if the function already exists on the prototype
                // We don't wont to cause collisions with built-ins or user defined
                if (!vendor[func] || proto[func] || proto.prototype[func]) {
                    continue;
                }

                // Objects can only use static methods
                // Applying to the prototype disrupts object literals
                if (proto === Object) {
                    proto[func] = vendor[func];
                } else {
                    extendPrototype.call(this, vendor, proto, func);
                }
            }
        }
    }
function mapPrototypes ( vendor , protos , funcs ) { var p , f , proto , func ; // Loop over each prototype for ( p = 0 ; ( proto = protos [ p ] ) ; p ++ ) { // Loop over each function for ( f = 0 ; ( func = funcs [ f ] ) ; f ++ ) { // Skip if the function already exists on the prototype // We don't wont to cause collisions with built-ins or user defined if ( ! vendor [ func ] || proto [ func ] || proto . prototype [ func ] ) { continue ; } // Objects can only use static methods // Applying to the prototype disrupts object literals if ( proto === Object ) { proto [ func ] = vendor [ func ] ; } else { extendPrototype . call ( this , vendor , proto , func ) ; } } } }
Loop over each collection and extend the prototypes.

@param {Object} vendor
@param {Array} protos
@param {Array} funcs
Loop over each collection and extend the prototypes .