location对象

概述

BOM对象之一,提供与当前窗口中加载的文档有关的信息,以及还提供一些导航功能。它一方面保存当前文档信息,另一方面将URL解析为可访问独立片段。它既是window对象属性又是document对象属性,即window.location === document.location

对象属性

location对象实现了URLUtils属性。

// 查询字符串参数
function getQueryStringArgs(){
    // 获取去掉?的查询参数
    var qs = (location.search.length > 0 ? location.search.substring(1) : "");
    var args = {}; //数据对象
    var items = qs.length > 0 ? qs.split('&') : [];
    for(var i = 0; i < items.length; i++){
        args[items[i].split('=')[0]] = decodeURIComponent(items[i].split('=')[1]);
        console.log(items[i].split('=')[0] + ':' + decodeURIComponent(items[i].split('=')[1]));
    }
    return args;
}


// URLSearchParams:keys(),values(),entries()
var paramsObj = new URLSearchParams(location.search);
paramsObj.toString();
for(var pair of paramsObj.entries()) {
    console.log(pair[0]+ ', '+ pair[1]);
};

对象方法

location对象实现了URLUtils方法。除toString之外这些方法都用来改变浏览器位置。

PS

window.location与document.location

参考文献

  1. location
  2. JS高级程序设计