一、过程分四步:

        1.获取地址栏;

                var loc=location.href;

        2.获取地址栏的长度

                var n1=loc.length;

        3.获取地址栏中第一个等号的位置;

                var n2=loc.indexOf('=');

        4.以等号位置,截取后面的内容;

                var str=loc.slice(n2+1,n1)

        此时拿到的是等号后面的内容,如果只跟一个参数,现在就可以结束了,已经拿到了;

二、如果跟多个参数,从上面的步骤开始

        5.以&符切割获取的内容,会得到一个数组,数组的第一项就是一个参数的值

                var aryStr=str.split('&');

        6.切割后数组的第二项就是第二个参数,例如:aaa=123,对第二项的操作

                var strPat=aryStr[1].split('=')[1];

        7.完成第六步的时候就已经得到了第二项参数的值,如果对于多个值,可以使用for循环处理

三、完成步骤截图:

        

        控制台输出:

        

四、详解个各步骤 

        1.首先要了解js中的location对象;

        location:存储了web的整个url地址,可以直接在console.log(location)输出,如下:

        可以看到,location中的属性href,包含了整个url,location.href,拿到地址栏的内容,它是一个字符串,可以直接用length拿到长度值

2.indexOf:查找字符串中的某一项,并放回对应的索引;如果找不到,返回 -1;

3.slice(n,m):截取字符串,特点是包前不包后;

        会从n的位置,包含n开始截取,截取到m-1的位置,不会截取得到m;

        特点是不会改变原数组

        slice(0,str.length):截取整个字符串

4.split():以什么符号对字符串进行裁剪,裁剪后返回一个数组

        不改变原数组

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐