src/config.js
function create() {
    var args = Array.prototype.slice.call(arguments);
    var conf = {};

    args.forEach(function(config) {
        extend(conf, config);
    });

    if (conf.get === undefined) {
        bindGetMethod(conf);
    } else {
        throw new Error('`get` property cannot be the root key of config');
    }

    return conf;
}
function create() {
    var args = Array.prototype.slice.call(arguments);
    var conf = {};

    args.forEach(function(config) {
        extend(conf, config);
    });

    if (conf.get === undefined) {
        bindGetMethod(conf);
    } else {
        throw new Error('`get` property cannot be the root key of config');
    }

    return conf;
}
function create ( ) { var args = Array . prototype . slice . call ( arguments ) ; var conf = { } ; args . forEach ( function ( config ) { extend ( conf , config ) ; } ) ; if ( conf . get === undefined ) { bindGetMethod ( conf ) ; } else { throw new Error ( '`get` property cannot be the root key of config' ) ; } return conf ; }
create a config with multi objects.

The latter object will overwrite the former recursively.

@example
create({a: 1, b: 2}, {a: 0, c: 3});  // => {a: 0, b: 2, c: 3}

@param  {Object...} source  a set of config objects.
@return {Object}  The final config object.
@method create
create a config with multi objects .