JavaScript可以使用URL类来解析和操作URL。此类在URL对象中定义,可用于创建和解析URL。例如:consturl=newURL('https://www.example.com:8080/path?name=value#hash');console.log(url.href);console.log(url.origin);console.log(url.protocol);console.log(url.host);console.log(url.hostname);console.log(url.port);console.log(url.pathname);console.log(url.search);console.log(url.hash);此示例将在控制台中输出URL的所有部分,包括协议、主机名、端口号、路径、查询字符串和哈希。此外,您还可以使用searchParams属性访问和修改URL中的查询字符串:console.log(url.searchParams.get('name'));url.searchParams.append('name2','value2');console.log(url.href);在本例中,首先使用get获取查询字符串中的一个值,然后使用append添加一个新参数。在使用URL类的构造函数中,第二个参数称为base,它是一个可选字符串或URL对象,表示第一个参数(URL字符串)的基本URL。当第一个参数是相对路径时,第二个参数将作为相对路径的基础路径,这在处理页面URL时非常有用。constrelativeUrl=newURL('/path',document.baseURI);console.log(relativeUrl.href);在这个例子中,第一个参数是相对路径,第二个参数是基本路径。在这种情况下,第二个参数将用于构建完整的URL。如果第一个参数是完整的URL字符串或URL对象,则第二个参数将被忽略。document.baseURI是一个只读属性,它返回当前文档的基础URI(统一资源标识符)。该值通常是指向当前文档位置的完整URL。例如,如果您的文档位于https://www.example.com/path/index.html,则document.baseURI的值将为https://www.example.com/path/index.html。如果当前文档未在网络上加载,则document.baseURI的值为空字符串。此属性可用于获取当前文档的URL,例如页面内的相对路径或构建页面上资源的完整URL,或用于验证文档是否位于正确的位置。请注意浏览器兼容性问题,URL类是在ECMAScript6中引入的,并在现代浏览器中得到支持。但是,它在早期的浏览器中不受支持,需要使用polyfills或其他库来实现兼容性。
