task 16

作者: 饥人谷_姜琼君 | 来源:发表于2016-11-14 11:02 被阅读0次

    CSS和JS在网页中的放置顺序是怎样的?
    css使用link标签放在顶部 <head></head>中。

    1. 把css样式放在底部会出现白屏,fouc等现象。
    2. 使用@import标签即使放在link标签中且放在头部,也有可能出现白屏。

    js放在底部
    放前面因为js是按顺序加载,脚本会阻塞后面内容的呈现,会阻塞其后组件的下载,也会出现白屏现象。

    解释白屏和FOUC
    白屏:浏览器在等待页面组件包括样式表全部加载完成后才呈现整个页面。若样式表放在页面底部,将会出现白屏。——样式表在页面中位置并不影响页面中组件的下载时间,但是会影响页面的呈现。
    fouc:如果把样式放在底部,对于IE浏览器,在某些场景下(点击链接,输入URL,使用书签进入等),会出现 FOUC 现象(逐步加载无样式的内容,等CSS加载后页面突然展现样式).对于 Firefox 会一直表现出 FOUC .

    async和defer的作用是什么?有什么区别
    defer使得browsers延迟脚本的执行,直到文档的载入和解析完成,并可以操作(在onload事件触发前)。
    async使得browsers可以尽快地执行脚本,而不用在下载脚本时阻塞文档解析(异步)。在不支持async的browsers中,通过动态创建<script>元素并把它插入文档中,来实现脚本的异步载入和执行。
    若两个属性同在,会忽略defer而遵从async

    简述网页的渲染机制

    1. 解析html标签,构建dom树
    2. 解析css标签,构建cssom树
    3. 把dom和cssom组合成渲染树(render tree)
    4. 在渲染树的基础上进行布局,计算每个节点的几何结构
    5. 把每个节点绘制到屏幕

    JavaScript 定义了几种数据类型? 哪些是简单类型?哪些是复杂类型?
    JS定义了5种简单类型:Undefined;Null;Boolean;Number和String
    1种复杂类型:Object

    NaN、Undefined、Null分别代表什么?
    NaN:"not a number"即非数值,用于表示一个本来要返回数值的操作数未返回数值的情况,任何涉及NaN的操作都会返回NaN。
    Undefined:代表声明变量但未对其初始化。
    Null:表示一个空对象指针,常用于定义变量用于将来保存对象。

    typeof和instanceof的作用和区别?
    typeof:一元运算符,用来返回操作数类型的字符串
    instanceof 运算符是用来测试一个对象是否在其原型链原型构造函数的属性。其语法是object instanceof constructor。

    代码1:

    Paste_Image.png

    代码2:

    Paste_Image.png

    代码3:

    Paste_Image.png

    代码4:
    var arr = [3,4,5]; for(i=0;i<3;i++){ console.log(arr[i]*arr[i]) };
    代码5:
    var obj = {name:'hunger',sex:'mail',age:'28'} for(key in obj){ console.log(obj[key]); };

    代码6:

    Paste_Image.png

    相关文章

      网友评论

          本文标题:task 16

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