2.document是window的一个属性。
3.在全局作用域内声明的变量和方法都属于window对象,除了这些,也有很多window对象自身本来就有的属性和方法,比如name、history、self、location等属性,alert()、confirm()、open() 、close()等方法。
4.document是window的属性,但也有属于自己的属性和方法,比如bgColor、title、linkColor 、vlinkColor等属性,write()、createElement(Tag)、getElementById(ID)、getElementsByClassName(ClassName)等方法。
在运行的时候,所有在全局作用域定义的变量,函数都会变成window对象中属性和方法,所以通过var定义的属性,可以通过window对象来访问,ex:var name = 'xxx'console.log(window.name)//运行结果:xxx 主要区别有 1. 全局变量不能通过delete删除,window的属性可以直接删除 2. 直接访问未定义的变量时会报错,但是通过window访问就不会报错,只要是通过window访问,相对于属性访问,结果返回undefine *通过var来定义的会有作用域,当在函数内部定义的变量,在函数外就会失效。js在定义变量的时候,默认是var,但一个变量如果没有定义就直接使用,那么默认认为它是个全局变量,这个对于在函数内也适用。这四个参数都是可选的。
<code>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>myWeb</title>
<script>
function openWin(){
myWindow=window.open('','','width=200,height=100')
myWindow.document.write("<p>这是'我的窗口'</p>")
myWindow.focus()
}
</script>
</head>
<body>
<input type="button" value="打开窗口" onclick="openWin()" />
</body>
</html>