JS相关概念

CSS和JS在网页中的放置顺序是怎样的?

  1. CSS放置head标签里面,可以使用link标签引入css文件,也可以用style标签包裹
    
    
    
        
        Document
        
        
    
    
        
    
    
  1. JS放置body闭合标签之前,也就是页面底部,可以使用script标签引入js文件,也可以用script标签包裹





Document


javascript






## 解释白屏和FOUC
#### 白屏
 1. 如果把样式放在底部,对于IE浏览器,在某些场景下(新窗口打开,刷新等)页面会出现白屏,而不是内容逐步展现
 2. 如果使用 `@import` 标签,即使 CSS 放入 `link`, 并且放在头部,也可能出现白屏
 3. 把 JavaScript 放入页面顶部也会导致 白屏 现象(因为加载 JavaScript 时,会禁用并发,并且阻止其他内容的下载)

#### FOUC: (Flash of Unstyled Content) 无样式内容闪烁
 1. 如果把样式放在底部,对于IE浏览器,在某些场景下(点击链接,输入URL,使用书签进入等),会出现 FOUC 现象(逐步加载无样式的内容,等CSS加载后页面突然展现样式).对于 Firefox 会一直表现出 FOUC 


## async和defer的作用是什么?有什么区别
[async和defer区别](http://www.jianshu.com/p/92d354d5ac81)

##  简述网页的渲染机制
1. 浏览器请求到HTML代码后,解析 HTML 标签, 构建 DOM 树
2. CSS文件下载完成,开始构建CSSOM
3. CSSOM构建结束后, DOM和CSSOM 一起生成 Render Tree。
4. 有了Render Tree然后Layout, 计算出每个节点在屏幕中的位置
5. 按照算出来的规则,然后把每个节点绘制到屏幕上 (Painting)

你可能感兴趣的:(JS相关概念)