location是BOM中最有用的对象之一:

1.它提供了与当前窗口中加载的文档有关的信息;

2.他还提供了一些导航功能。

location对象的属性有: hash, host, hostname, href, pathname, port, protocol, search.

虽然location.search可以返回从问号到结尾的所有内容,但是却没有办法逐个访问其中每个查询字符串参数,为此可以创建下面这样一个函数,用以解析查询字符串:

/*用以解析查询字符串参数的函数*/
function getQueryStringArgs(){
var qs = (location.search.length>0 ? location.search.substring(1) : '');
var arg = {};
var items = qs.length ? qs.split('&') : []; for(var i=0;i<items.length;i++){
var item = items[i].split('=');
var name = decodeURIComponent(item[0]);
var value = decodeURIComponent(item[1]);
document.write('name:'+name+'value:'+value);
if(name.length){
args[name] = value;
}
} return args;
}

其中substring()函数是基本包装类型String的方法,与其类似的还有slice(),substr(),substring(),他们都接受一或二个参数(子字符串开始的位置,子字符串到哪里结束):

1.在参数都是正值的情况下:三个函数基本相同;

2.在参数是负值时:

slice()方法会将传入的负值与字符串的长度相加;

substring()方法会把所有的负值都转换为0;

substr()方法会将传入的第一个负值与字符串的长度相加,第二个参数转换为0.

使用Location对象查询字符串参数的更多相关文章

  1. location对象查询字符串参数

    虽然location.search可以返回从问号到URL末尾的所有内容,但却没有办法逐个访问其中的每个查询字符串参数.为此,可以创建下面这样一个函数,用以解析查询字符串,然后返回包含所有参数的一个对象 ...

  2. 逐个访问URL的每个查询字符串参数

    下面介绍一个函数,用于处理location.search的结果,以解析查询字符串,然后返回包含所有参数的一个对象. 比如  www.baidu.com?q=javascript&num=10 ...

  3. 【本周面试题】第1周 - 获取URL中的查询字符串参数、get和post的区别

    [此系列优先解决自己经历的面试题] 2018.11.16 面试题一:你如何获取浏览器URL中查询字符串中的参数? 题目代码: 测试地址为 https://www.sogou.com/tx?query= ...

  4. 向现有URL末尾添加查询字符串参数

    向现有URL末尾添加查询字符串参数 xhr.open("get", "example.php?name1=value1&name2=value2", t ...

  5. 获取url中查询字符串参数

    // 获取url中查询字符串参数 例如http://www.test.com?a=1&b=2 function RequestParamete() { var url = window.loc ...

  6. js获取url查询字符串参数

    最近看js高级程序设计 对其中查询字符串参数的获得重新写了,当传递一个完整的URL的时候对查询字符串的提取 function getQueryArgs(){ var qs = (location.se ...

  7. C# 获取url中的查询字符串参数

    /// <summary> /// 获取url中的查询字符串参数 /// </summary> public static NameValueCollection Extrac ...

  8. 解析URL查询字符串参数为对象以及老浏览器的getElementsByClassName

    高程3使用拼接字符串形式解析的查询字符串,网上有各种正则方式解析的,记得太多,临时需要写的时候,自己都搞混乱了.只记一种吧,用正则. function getQueryStringArgs() { v ...

  9. javaScript 查询字符串参数 获取

    function getQueryStringArgs() { //取得查询字符串并去掉开头的问号 var qs = (location.search.length > 0 ? location ...

随机推荐

  1. PMI列子1

    遍历得到PMI中,是注释类型的,你可以参考一下.int num_text, thetype, thesubtype;tag_t  draft_aid_tag = NULL_TAG;UF_UI_open ...

  2. (转)C语言16进制输出字符型变量问题

    最近在做一个C的嵌入式项目,发现在C语言中用printf()函数打印字符型变量时,如果想采用"%x"的格式将字符型变量值以十六进制形式打印出来,会出现一个小问题,如下: char  ...

  3. C语言编写的简单的电话本管理系统

    #include<stdio.h> #include <string.h> #include<stdlib.h> ; struct person {]; ]; ]; ...

  4. laravel中如何写验证码文件,并防止中文乱码.

    本例为生成中文验证码,专为laravel而生. //控制器: public function getVcode(Request $request){ $width=845; $height=125; ...

  5. 接口测试总结<转>

    本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系.但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分:主要介绍为 ...

  6. 我与solr(五)--关于schema.xml中的相关配置的详解

    先把文件的代码贴上来: <?xml version="1.0" encoding="UTF-8" ?> <!-- 版权说明... --> ...

  7. MATLAB的crack安装小曲

    MATLAB的crack安装小曲 本学期要学数学模型和数值分析,需要用MATLAB,便琢磨着装MATLAB.我同专业的同学会装MATLAB的crack,他是数学协会的理事长,平时爱吹牛,问他一个简单的 ...

  8. Linux ARP缓存配置和状态查看命令

    查看Linux ARP缓存老化时间 cat /proc/sys/net/ipv4/neigh/eth0/base_reachable_time同目录下还有一个文件gc_stale_time,官方解释如 ...

  9. MAT-Java内存分析工具

    对Mat工具的详细介绍,引用博文:http://my.oschina.net/biezhi/blog/286223 下载地址:http://www.eclipse.org/mat/downloads. ...

  10. Ubuntu 14.04 配置静态IP

    命令行手工配置静态IP比较麻烦,记录于此备查. 1,ubuntu的网络配置文件在: # /etc/network/interfaces //这个文件里 2,默认安装时,网络配置是使用DHCP自动分配I ...