美文网首页
JS相关概念

JS相关概念

作者: 柏龙 | 来源:发表于2017-04-12 17:26 被阅读0次

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

    1. CSS放置head标签里面,可以使用link标签引入css文件,也可以用style标签包裹
        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Document</title>
            <link rel="stylesheet" href="index.css">
            <style>
                * {
                    margin: 0;
                    padding: 0;
                }
            </style>
        </head>
        <body>
            
        </body>
        </html>
    
    1. JS放置body闭合标签之前,也就是页面底部,可以使用script标签引入js文件,也可以用script标签包裹

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    </head>
    <body>
    <h1>javascript</h1>
    <script src="index.js"></script>
    <script>
    var a = 10;
    </script>
    </body>
    </html>

    
    ## 解释白屏和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相关概念

          本文链接:https://www.haomeiwen.com/subject/sdwmattx.html