地址hash值分割处理函数

Posted worldly1013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地址hash值分割处理函数相关的知识,希望对你有一定的参考价值。

  因经常使用路由的hash值传参,便对其封装了函数,如下直接调用即可

 1 (function getHashStringArgs() {
 2             //取得查询的hash后?的位置
 3             var position = window.location.hash.indexOf("?");
 4             // 截取?后面的字符串
 5             var hashStrings = (window.location.hash.length > 0 ? window.location.hash.substring(position+1) : ""),
 6             // 用来保存分割的hash对
 7             hashArgs = {},
 8             //取得每一项hash对
 9                 items = hashStrings.length > 0 ? hashStrings.split("&") : [],
10                 item = null,
11                 name = null,
12                 value = null,
13                 i = 0,
14                 len = items.length;
15             //逐个将每一项添加到hashArgs中
16 
17             for (i = 0; i < len; i++) {
18 
19                 item = items[i].split("=");
20 
21                 name = decodeURIComponent(item[0]);
22 
23                 value = decodeURIComponent(item[1]);
24 
25                 if (name.length > 0) {
26 
27                     hashArgs[name] = value;
28 
29                 }
30 
31             }
32 
33             return hashArgs;
34 
35         })()

 

以上是关于地址hash值分割处理函数的主要内容,如果未能解决你的问题,请参考以下文章

哈希表与哈希(Hash)算法

[译]C语言实现一个简易的Hash table

hash算法原理详解

hash算法搜索获得api函数地址的实现

在保持相同行为的同时隐藏 url 中的 #hash 片段?

url地址栏中带有hash值的在.net后台怎样取值