script - unit tests - draft spec - See script for cross-browser quirks
var url = new URL(url, base);
var value = url.getParameter(name);
var valueArray = url.getParameterAll(name);
url.appendParameter(name, valueOrValues);
url.clearParameter(name);
var nameArray = url.parameterNames;
URL objects have properties:
protocol
host
hostname
port
pathname
search
hash
filename
href