js中window对象以及下面属性详解
(一)、本文阐述关于window对象以及下面所属属性值,要知道相关的内容先了解下面几个名词:本地对象、内置对象、宿主对象。
本地对象:独立于宿主环境的ECMAScript实现提供的对象。常见的本地对象有:Object、Function、Array、String、Boolean、Number 、Date、RegExp、Error等。
内置对象:内置对象不需要实例化,主要是Global对象和Math对象;
Global对象:它是ECMAScript中最特别的对象,因为实际上它根本不存在,但大家要清楚,在ECMAScript中,不存在独立的函数,所有函数都必须是某个对象的方法。类似于isNaN()、parseInt()和parseFloat()方法等,看起来都是函数,而实际上,它们都是Global对象的方法。
Math:主要为数学专用值的对象;
var iMax=Math.max(2,0,6,4,10); //iMax:10 var iMin=Math.min(2,0,6,4,); //iMin:0 Math.abs()方法返回数字的绝对值。 Math.ceil()表示向上舍入 Math.floor()表示向下舍入 Math.round()标准的四舍五入
宿主对象:所有的非本地对象都是宿主对象即友ECMAscript实现的宿主环境提供的对象。所有BOM和DOM对象都是宿主对象。
(二)本文阐述的是宿主对象window。它是JavaScript 层级中的顶层对象,表示浏览器窗口。常见的方法有:alert、confirm、prompt、open、close方法。相关的属性有location、navigator、acreen、location、frameset等。
2.1 location对象
location是BOM中最重要的对象之一,它包含了当前 URL 的信息。
如果url为https://www.baidu.com:8888?a=1&b=2&c=3#contents;
location.hash : "#contents"; location.host: "www.baidu.com:8888";
location.hostname:"www.baidu.com" ; location.port: "8888";
location.protocl: "https"; location.search:"?a=1&b=2&c=3"
location.path:"";等。
常见的获取url参数的方法:
方法一:
function getParm() { var url = location.search;//获取url的参数例如:?a=12&b=14 var o = {}; if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { o[strs[i].split("=")[0]]=strs[i].split("=")[1]; } } return o; }
方法二:
getParams(){ var p = location.search.substr(1), reg = /&?([^&=]+)=?([^&]*)/g, o = {}; p.replace(reg, function (match, k, v) { o[k] = v; }); return o; }
2.2、history对象
history对象保存着用户上网记录,从窗口被打开的那一刻算起
常用的方法:history.go(-1);返回上一页。
2.3、navigator(待补充)
2.4screen对象(待补充)