BOM即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。
BOM与DOM的区别:
很明显,DOM比BOM更小,BOM包含DOM。
window对象
window对象是浏览器的顶级对象,它具有双重角色。 1.它是JS访问访问浏览器的一个接口。 2.它是一个全局对象。定义在全局作用域中的变量,函数都会变成window对象的属性和方法。
this指向问题
同步异步
同步
前一个任务结束后再执行后一个任务,程序的执行顺序与任务的排列顺序是一致的、同步的。
异步
在做一件事情时,因为这件事情会花费很长时间,在做这件事的同时,你还可以去处理其他事情。
他们的本质区别:这条流水线上各个流程的执行顺序不同。
执行机制
先执行执行栈中的同步任务。 异步任务(回调函数)放入任务队列中。 一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行。
事件循环
由于主线程不断的重复获得任务、执行任务、再获取任务、再执行,所以这种机制被称为事件循环。