BOM知识
BOM定义
JS执行队列(多线程)
BOM知识
1.JS不识别短横线 “-”
2.JS打印代码:consolu.dir( );
3.回调函数:某件事干完了在调用函数(eg:监视器也叫回调函数)
4.F12打开后可以仿真ie10
5.本地存储查看:检查-点击Application左侧的storage—session storage
6.浏览器:protocol://host :port / path / ? query #fragment
代码 | 意义 |
---|---|
protocol | 通信协议:http |
host | 域名:www.baidu.com |
port | 端口号:默认80 |
path | 路径:目录路径/文件地址 |
query | 参数,已键值对形式存储 一般用&隔开 |
fragment | 一般用于锚点链接 |
BOM定义:浏览器对象模型
1.BOM标准:浏览器厂商自己定义
2.顶级对象window(一般可以省略)
3.定义在全局作用域的变量和函数都会变成window对象的属性和方法
JS执行队列(多线程)
1.单线程:
(1)JS语言最大的特点就是单线程
(2)同一时间只能干同一件事
(3)所有的任务都需要排队,如果某一个任务的代码执行时间过长会导致页面渲染不连贯
2.多线程:利用CPU核算,具有同步任务/异步任务概念
同步任务:非回调函数为同步任务
(1)非回调函数为同步任务,在主线程上执行,形成执行栈,
(2)任务排序顺序一致
异步任务(回调函数):
(1)回调函数为异步任务(某件事干完了在执行函数)
JS执行队列
第一步:同步任务(主线程执行栈):非回调函数跳过回调函数先行执行,将回调函数至于异步进程处理
第二步:异步进程处理:等待回调函数执行(例如:点击/时间等)
第三步:异步任务(任务队列):将异步进程处理中已执行的回调函数至于异步任务
第四步:当同步任务全部执行完毕后,会向异步任务任务队列无限循环,将任务队列中的任务加入主线程执行栈进行依次执行