前言
在我们平时开发中,页面之间切换是经常遇到的,有时候页面之间的跳转,不需要携带参数,如果需要携带参数,通常我们会通过html携带参数.
一.参数传值
1.通过a标签携带参数
<a href="abcd.html?name=xyz"></a>
2.通过在js文件定向时携带参数
二.获取参数值
当我们在跳转后的页面取值的时候。就需要读取参数,这个时候我可以根据正则表达式去读取。
function getQueryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}
说明:
1、reg是一个正则表达式子,是你获得的参数
2.window.location.search.match()
1)、location是包含了相关的url的信息,它是windown的一部分。
2)、search是一个可以查询的属性,可以查询?之后的部分。
3)、match()是你要匹配的部分 后面可以是正则表达式.
4)、return unescpe(r[2]) 返回的值 一个数组
三.案例再现
首先.我们在跳转前页面携带参数跳转
在跳转后的页面的js文件定义变量接收参数;
获取参数的方法就是上面提供的方法
我们debug一下,来看看值得变化,访问之前,phoneNum未定义
在开发者工具的js文件设定断点,然后进行跳转,我们看到方法执行,并成功取到值
(在我们发现返回的数组中第三个位置是我们需要的值,也就是代码中为什么返回数组下标为2元素的原因)
最后,我们再看phoneNum的值,已经被重新赋值;