前段时间参加了字节的面试题。有一道笔试题没做出来,但是我记了下来。题目是获取url地址中的参数。Vue中 this.$route.query 非常方便。但用js怎么获取呢?上代码:
// 获取url地址中参数的值
function getUrlVariable(variable) {
// window.location.search 获取当前url地址从问号开始的内容 是个字符串
// ‘?id=1&name=zhangsan’
// .substring(1) 把问号截掉
// ‘id=1&name=zhangsan’
var query = window.location.search.substring(1);
// 再以‘&’符号分割为数组
// ['id=1', 'name=zhangsan']
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
// 以‘=’分割 得到 ['id', '1']
var pair = vars[i].split("=");
// 如果需要获取的参数对应上variable 就返回结果
if (pair[0] == variable) { return pair[1]; }
}
return (false);
}
getUrlVariable(id) // 1