function Class(ctor) {
        if (is('Object', ctor)) {
            // no constructor function passed, let's fall back to a default
            return Class(null, ctor);

        } else {
            return base(arguments, ctor || function() {});
        }
    }
function Class(ctor) {
        if (is('Object', ctor)) {
            
            return Class(null, ctor);

        } else {
            return base(arguments, ctor || function() {});
        }
    }
function Class ( ctor ) { if ( is ( 'Object' , ctor ) ) { // no constructor function passed, let's fall back to a default return Class ( null , ctor ) ; } else { return base ( arguments , ctor || function ( ) { } ) ; } }
Class (constructor, [base1[, base2[, ... baseN]],], [methods]) Class (constructor, [base1[, base2[, ... baseN]],]); Class (methods)
Class ( constructor [ base1 [ base2 [ ... baseN ]] ] [ methods ] ) Class ( constructor [ base1 [ base2 [ ... baseN ]] ] ) ; Class ( methods )