面试题之 query转为obj
要注意处理编码后的字串 对于a=123要得到number形的值
function parseQueryString(url) {
var obj = {};
var query = url.search.slice(1).split('&'); //截取问号之后的部分
query.forEach(function(item){
//若str没有= 返回 [str]
//缺失任何一方 则是空字符串
var key = item.split('=')[0];
var value = decodeURIComponent(item.split('=')[1]);
//对于数值形字符串要转为数字
value = !isNaN(value) ? +value : value;
obj[key] = value;
});
return obj;
}
var link = document.createElement('a');
link.href = "http://www.example.com/some/path?name=123&w=blog%3Acart55free99%20微软%20bootstrap#anchor";
var obj = parseQueryString(link);
console.log(obj);
没有直接创建localtion对象的方法 可以创建Anchor的方式来创建一个localtion对象
var link = document.createElement('a');
link.href = "http://www.example.com/some/path?name=123&w=blog%3Acart55free99%20微软%20bootstrap#anchor";
面试题之 query转为obj的更多相关文章
- {}typeof string转为 obj json
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.11.3/jquer ...
- python django基础四 ORM简介
ORM,全称是object relation mapping.翻译过来,就是对象关系映射. 主要来学习MySQL操作,MySQL是一个软件.它的优点:1.免费 2.开源 pymysql,就是Mysql ...
- python 全栈开发,Day71(模型层-单表操作)
昨日内容回顾 1. {% include '' %} 2. extend base.html: <html> ..... ..... ..... {% block content%} {% ...
- JDBC辅助类封装 及应用
一:代码图解: 二:配置文件: driverClassName=com.mysql.jdbc.Driver url=jdbc\:mysql\://127.0.0.1\:3306/xlzj_sh_new ...
- java对接微信支付
对接微信扫码支付(模式2),前端使用velocity技术 (1)调用微信支付接口(view层) 此部分业务逻辑部分可以省略 @RequestMapping("/wxpay.htm" ...
- Django基础(3)----模型层-单表操作,多表创建
昨日内容回顾: 1. {% include '' %} 2. extend base.html: <html> ..... ..... ..... {% block content%} { ...
- Vue 全家桶,深入Vue 的世界
内容简介: Vue 实例上的属性 Vue 生命周期 Vue 数据绑定 computed 计算属性 watch 监听器 Vue 组件 Vue 组件 extend Vue 组件高级属性 Vue 的rend ...
- C# dynamic 动态创建 json
1. 如何通过C# 的dynamic 创建如下json 对象? { "query": { "match": [{ "name": " ...
- TObject、Pointer、Interface的转换
unit Unit4; )); )); )); //将Obj转为接口 //LInf1 := ITest(Pointer(LObj1)); //无法转换了,丢失了接口信息 ...
随机推荐
- Eclipse配置Hadoop开发环境
Step 1:选择Hadoop版本对应的Eclipse插件jar包(可自行编译),我的Hadoop版本是hadoop-0.20.2,对应的插件应该是:hadoop-0.20.2-eclipse-plu ...
- [一个经典的多线程同步问题]解决方案三:互斥量Mutex
本篇通过互斥量来解决线程的同步,学习其中的一些知识. 互斥量也是一个内核对象,它用来确保一个线程独占一个资源的访问.互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互斥访问资源.使用互 ...
- leetcode 3Sum python
# sort the array# loop from i = 0 # then left=i+1 right=len(nums)-1# try nums[i] - ( nums[left]+nums ...
- Linux学习之route
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...
- OC语法4——自定义构造方法,description方法
自定义构造方法: 我们已经知道创建对象分两步,1:在内存中开辟存储空间,并把地址存储在指针变量里,2:调用指针变量的初始化方法init初始化该对象. Student * stu = [Student ...
- zxing源码分析——QR码部分
Android应用横竖屏切换 zxing源码分析——DataMatrix码部分 zxing源码分析——QR码部分 2013-07-10 17:16:03| 分类: 默认分类 | 标签: |字号大中 ...
- ASP.NET MVC3使用Unity2.0实现依赖注入(转载和扩展)
http://note.youdao.com/share/?id=53252d0f897e0e109aadd296a1682354&type=note
- 从源码看Android中sqlite是怎么通过cursorwindow读DB的
更多内容在这里查看 https://ahangchen.gitbooks.io/windy-afternoon/content/ 执行query 执行SQLiteDatabase类中query系列函数 ...
- onActivityResult不起作用?可能是和你的launchMode有关!
昨天在自己的项目中用到了onActivityResult()方法获得activity的返回值.我从Activity01通过 startActivityForResult启动了Activity02和Ac ...
- SLC和MLC闪存芯片的区别
许多人对闪存的SLC和MLC区分不清.就拿目前热销的MP3随身听来说,是买SLC还是MLC闪存芯片的呢?在这里先告诉大家,如果你对容量要求不高,但是对机器质量.数据的安全性.机器寿命等方面要求较高,那 ...