kod*_*ire 1 javascript url-parameters query-string urlsearchparams
const url = new URLSearchParams('https://example.com?q1=1&q2=2');
console.log(url.has('q3')) // returns false as expected
console.log(url.has('q2')) // returns true as expected
console.log(url.has('q1')) // returns false as NOT expectedRun Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?
如果传递一个字符串,构造URLSearchParams函数期望该字符串是查询字符串而不是完整的 URL。
q1不会出现,因为您的第一个参数是https://example.com?q1。
const url = new URLSearchParams('https://example.com?q1=1&q2=2');
console.log([...url.entries()]);Run Code Online (Sandbox Code Playgroud)
URL如果您想解析完整的 URL,请使用构造函数。
const url = new URL('https://example.com?q1=1&q2=2');
console.log(url.searchParams.has('q3'))
console.log(url.searchParams.has('q2'))
console.log(url.searchParams.has('q1'))Run Code Online (Sandbox Code Playgroud)