以此 url 為例: http://localhost/index.html?id=310&name=xia&phone=13800138000
//擷取url傳遞的資訊
let query = location.search; // ?id=310&name=xia&phone=13800138000
let searchParams = new URLSearchParams(query);
// 簡單使用
// 隻需要new一個URLSearchParams的執行個體即可,代碼:
for (let v of searchParams) {
console.log(v);
}
// ["id", "310"]
// ["name", "xia"]
// ["phone", "13800138000"]
// 擷取單個字段
// 假如現在我隻想擷取單個字段的值,該怎麼辦呢?隻需要調用這個執行個體的get方法即可, 代碼:
searchParams.get('id') // "310"
searchParams.get('name') // "xia"
searchParams.get('phone') // "13800138000"
// 設定字段
// 有時候想重寫一個字段,這時候需要使用set方法,代碼:
searchParams.set('id', '123');
// 判斷字段是否存在
// 使用執行個體的has方法進行判斷,代碼:
searchParams.has('id') // "310"
searchParams.has('name') // "xia"
// 添加字段
// 執行個體提供了append方法來添加字段,這個方法接收兩個參數,前者是key,後者是value,代碼:
searchParams.append('age', 26);
searchParams.has('age'); // true
searchParams.get('age'); // 26
// 删除字段
// 現在不想要phone字段了,直接使用delete即可,代碼:
searchParams.delete('phone');
searchParams.has('phone'); // false