window对象是所有的客户端JavaScript特性和api的主要接入点.他表示浏览的一个窗口.并且可以用window字符来引用它.
window对象有一个重要的属性是document,他引用document对象表示显示在窗口中的文档.
如果web页面包含一个嵌入窗体.嵌入文档中的JavaScript和被嵌入文档中的JavaScript会有不同的全局对象.他可以当做一个单独的JavaScript程序来使用.
JavaScript程序执行有两个阶段,在第一个阶段,载入文档,并执行JavaScript的代码.脚本通常会按顺序执行.也就是从上到下的执行.
第二个阶段是,异步的,这个阶段是有事件驱动的.
时间线
计时器
setTimeout()和setInterval()是用来指定一定时间和调用一次或者多次某个函数.一旦调用clearTimeout()和clearInterval()即可以取消后序的调用.
location属性
location属性引用的是location对象,它表示当前窗口显示文档的URL.,并定义了方法载入新的文档.
assign()方法可以使窗口载入指定的URL中的文档.replace()也会载入新的文档,但是会将历史中的当前文档给删掉.
history
history对象的back()和forward()方法与浏览器的后退和前进按钮一样.
screen对象
prompt()
显示一条信息,等待用户输入字符串,并返回那个字符串.
showModelDialog()
显示一个可以包含html格式的静态对话框,可以给他传入参数,以及从对话框里面返回值.
HTML文档经常使用iframe来嵌套多个文档.和相互独立的标签页和窗口不同.相互嵌套的浏览器上下文,总是可以看到他的子或者父窗口的.但是如果查看这些窗口的属性,则会受到同源性策略的限制.
窗口的打开
open()方法.close()方法.
窗体之间的关系
open()方法返回一个window对象的引用.并且新窗口具有opener属性,该属性可以打开它的原始窗口.这样就实现两个窗体之间的交换.parent属性可以引用包含它的窗口的window对象.当该窗口示顶级窗口示,parent属性引用它自己.
当有多层嵌套时,top属性引用它的最顶层对象.
每个window对象都有一个frames属性,它引用自身窗口的子窗口.引用第一子窗口,可以使用frames[0].
当进行函数共享,需要注意作用域的问题,当使用全局变量时,及时函数在A中定义,他也会去调用它的B中进行查找.