BOM Location 对象【1】操作当前文档的 Web 地址、页面内跳转

BOM window 对象

window 对象是全局对象,所有在全局作用域中声明的变量、对象、函数都会变成 window 对象的属性、对象、方法,处于所有对象的顶级。window对象,不需要通过 new 关键字创建实例,只需要通过“对象名.成员”的格式访问其属性和方法。
HTML DOM 的 document 也是 window 对象的属性之一:
window.document.getElementById("header");
等同于:
document.getElementById("header");
由此,我们可以明确规律:

  • 全局变量 是 window 对象的属性。
  • 全局函数 是 window 对象的方法。

基于 window 对象是全局对象的概念,它下属的所有全局变量和函数都是它的属性,并且所有原生的构造函数及其它函数都存在与它的命名空间下,因此,在调用 window 对象的方法和属性时,可以省略 window 对象的引用。但在局部作用域中定义不会归入 window 对象名下,只有在全局作用域中定义才会被自动归入到 window 对象名下。

<script>
	var NameNew="Hevate";  //定义变量
	var ArrNew=new Array("one","two","three");  //定义对象
	function MyName(){  // 定义函数,不会直接执行,需要经过调用
		var NameNew = "liu"
		console.log("因为 MyName() 函数存在于全局作用域中,所以 this 被映射到 window,this.MyName 即是 window.MyName")
		console.log("MyName() 不加上 window 或 this:"+NameNew)
		console.log("MyName() 加上 this:"+this.NameNew)
		console.log("MyName() 加上 window:"+window.NameNew)  
	}
	/* 输出变量*/
	window.console.info("对于变量,加上 window 输出:"+NameNew)  //输出 Hevate
	console.info("对于变量,不加 window 同样输出:"+NameNew)
	/* 输出对象*/
	window.console.log("对于对象,加上 window 输出:"+ArrNew)  //输出 one,two,three
	console.log("对于对象,加上 window 输出结果相同:"+ArrNew)
	/* 输出函数*/
	window.MyName()  //调用 函数 MyName()
	MyName()  //调用 函数 MyName()
script>  

因为 MyName() 函数存在于全局作用域中,所以 this 被映射到 window,this.MyName 即是 window.MyName


Location 对象

操作有关当前 URL 的信息,表示那个窗口中当前显示的文档的 Web 地址,Location 对象是 window 对象的一部分,Location 对象存储在 Window 对象的 Location 属性中,可通过 window.Location 属性对其进行访问。

href 属性 存放的是文档的完整 URL,其他属性则分别描述了 URL 的各个部分。

Anchor 对象 表示的是文档中的超链接,Location 对象表示的却是浏览器当前显示的文档的 URL(或位置)

属性 描述
hash 设置或返回从井号 (#) 开始的 URL(锚),当前文档指定的位置
host 设置或返回主机名和当前 URL 的端口号。
hostname 设置或返回当前 URL 的主机名。
href 设置或返回完整的 URL。
pathname 设置或返回当前 URL 的路径部分。
port 设置或返回当前 URL 的端口号。
protocol 设置或返回当前 URL 的协议。
search 设置或返回从问号 (?) 开始的 URL(查询部分),即重新装载附加了新的查询字符串的 URL
属性 描述
assign() 加载新的文档。
reload() 重新加载当前文档。
replace() 用新的文档替换当前文档,不创建新的历史记录

Reference

Location 对象 | W3CSchool

Location 对象

你可能感兴趣的:(BOM,Notes)