needy.js
function defineProperties(target, options/*, source, ...*/)
	{
		if (options == null)
			options = {};

		var i = 2,
			max = arguments.length,
			source, prop;

		for (; i < max; ++i)
		{
			source = arguments[i];
			if (!(source instanceof Object))
				continue;

			for (prop in source)
			{
				if (source[prop] == null)
					continue;

				defineProperty(target, prop, {
					value: source[prop],
					enumerable: options.enumerable == null ? true : !!options.enumerable,
					writable: options.writable == null ? true : !!options.writable,
					configurable: options.configurable == null ? true : !!options.configurable
				});
			}
		}

		return target;
	}
function defineProperties(target, options/*, source, ...*/)
	{
		if (options == null)
			options = {};

		var i = 2,
			max = arguments.length,
			source, prop;

		for (; i < max; ++i)
		{
			source = arguments[i];
			if (!(source instanceof Object))
				continue;

			for (prop in source)
			{
				if (source[prop] == null)
					continue;

				defineProperty(target, prop, {
					value: source[prop],
					enumerable: options.enumerable == null ? true : !!options.enumerable,
					writable: options.writable == null ? true : !!options.writable,
					configurable: options.configurable == null ? true : !!options.configurable
				});
			}
		}

		return target;
	}
function defineProperties ( target , options /*, source, ...*/ ) { if ( options == null ) options = { } ; var i = 2 , max = arguments . length , source , prop ; for ( ; i < max ; ++ i ) { source = arguments [ i ] ; if ( ! ( source instanceof Object ) ) continue ; for ( prop in source ) { if ( source [ prop ] == null ) continue ; defineProperty ( target , prop , { value : source [ prop ] , enumerable : options . enumerable == null ? true : ! ! options . enumerable , writable : options . writable == null ? true : ! ! options . writable , configurable : options . configurable == null ? true : ! ! options . configurable } ) ; } } return target ; }
Define multiple properties with similar configuration values.
Define multiple properties with similar configuration values .