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. AndroidLinker与SO加壳技术之下篇

    点此查看上篇<AndroidLinker与SO加壳技术之上篇> 2.4 链接 链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤: 1. 定位 dynami ...

  2. arcgis操作笔记-根据属性提取某区域要素

    1. 提取

  3. AngularJS实现单页应用的原理——路由(Route)

    AngularJS实现单页应用的原理——路由(Route) 路由:告诉你一个通往某个特定页面的途径 http://127.0.0.1/index.html#/start http://127.0.0. ...

  4. Sublime Text 安装Emmet

    1.简单的安装方法 从菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console.将以下 Python 代码粘贴进去并 enter 执行,不出意外即完成安装.以 ...

  5. 《UML大战需求分析》阅读笔记4

    流程分析利器之二,状态机图. 状态机图也可以叫状态图,也是用来分析流程的,之前的活动图的主体是事件的行为,而状态机图主要描述的是事件的状态. 开始:实心圆点: 结束:点加环:(与活动图一样) 状态:圆 ...

  6. nodejs中标准包的制作,上传,安装及卸载方法

    一:如何制作一个标准包? 为了规范化,基本遵循CommonJS规范,首先约定: 包的使用: 所有模块放在一个文件夹(包名) 包放在当前项目中的node_modules文件夹下 包中定义一个index. ...

  7. 解决EasyUI动态添加标签渲染问题

    以下代码用于Js脚本中: var Work_Content_Back = "<table width='99%' class='table' style='margin-bottom: ...

  8. The Singleton pattern

    作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 单例模式的结构 单例模式的特点: 单例类只能有一个实例. 单例类必须自己创建自己的唯一 ...

  9. 在idea中mybatis错误(1)

    错误提示为: ### Error building SqlSession.### The error may exist in cn/qd/mybatis/map/productMapper.xml# ...

  10. 解决Get请求的长度限制

    错误提示: HTTP Error 404.15 - Not Found The request filtering module is configured to deny a request whe ...