location对象用来处理URL的相关信息
1、获取查询字符串
// 获取查询字符串对象
var getQueryStringArgs = function () { var qs = (location.search.length > ? location.search.slice() : ""),
args = {}, // 保存要返回的数据对象
items = (qs.length > ? qs.split("&") : []), // &符split后的数组,数据项
item = [], // =号split后的数组,每个数据项的json表达
name = "",
value = "", //
len = items.length,
i; for (i = ; i < len; i += ) { item = items[i].split("="); // 查询字符串应该是被编码过的,所以解码
name = decodeURIComponent(item[]);
value = decodeURIComponent(item[]); if (name.length) {
args[name] = value;
}
} return args;
};
2、location 与 http 请求
// 一个含有search 和 hash的url,查询字符串要在hash片段的前面
var url = "http://www.so.com/?q=javascript#section1"; // 切换到新的地址
location.href = "http://www.so.com/"; // 添加查询字符串重新请求
location.search = "?q=javascript"; // 到目标目录文件夹发起新的请求
location.pathname = "js"; // 向url添加hash字符串,不会产生新的http请求
location.hash = "#section1"; // 刷新页面
location.reload(); // 强制刷新页面
location.reload(true); // 补充history:返回的特定的历史记录,发起新的http请求
history.go(-);