问答题 任务16

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

css一般放在整个文档的前面,js放后面.

2.解释白屏和FOUC?

浏览器的白屏与无样式内容闪烁(FOUC),是由于浏览器加载与显示页面方式不同造成的:
在写HTML代码时,我们都是将CSS文件的引入位置放在头部(标签内部),将js文件的引入位置放在底部(前面)。
不同的浏览器对于CSS和HTML的处理方式不同,有的是等待CSS加载完成之后,对HTML元素进行渲染和展示(白屏问题)。有的是先对HTML元素进行展示,然后等待CSS加载完成之后重新对样式进行修改(FOUC无样式内容闪烁)
如果把CSS样式放在底部,对于IE浏览器,在某些场景下(新窗口打开,刷新等)页面会出现白屏,而不是内容逐步展现,如果使用 @import标签,即使 CSS 放入 link, 并且放在头部,也可能出现白屏。
如果把CSS样式放在底部,对于IE浏览器,在某些场景下(点击链接,输入URL,使用书签进入等),会出现 FOUC 现象(逐步加载无样式的内容,等CSS加载后页面突然展现样式).对于 Firefox 会一直表现出 FOUC 。如果把js文件放在头部,脚本会阻塞后面内容的呈现,脚本会阻塞其后组件的下载,出现白屏问题。

3.async和defer的作用是什么?有什么区别?

没有 defer 或 async

  • 浏览器会立即加载并执行指定的脚本,“立即”指的是在渲染该 script
    标签之下的文档元素之前,也就是说不等待后续载入的文档元素,读到就加载并执行。
    有 async
  • 加载和渲染后续文档元素的过程将和 script.js的加载与执行并行进行(异步)。
    有 defer
  • 加载后续文档元素的过程将和 script.js的加载并行进行(异步),但是 script.js的执行要在所有元素解析完成之后,DOMContentLoaded事件触发之前完成。

4.简述网页的渲染机制

我们经常看到浏览器在加载某个页面时,部分内容先显示出来,又有些内容后显示。那么浏览器加载显示html究竟是按什么顺序进行的呢?

其实浏览器加载显示html的顺序是按下面的顺序进行的:
1、IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。
2、在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)。
3、如果遇到语义解释性的标签嵌入文件(JS脚本,CSS 剑 敲创耸盜E的下载过程会启用单独连接进行下载。
4、并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。
5、样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。
6、JS、CSS中如有重定义,后定义函数将覆盖前定义函数。

Firefox处理下载和渲染顺序大体相同,只是在细微之处有些差别,例如:iframe的渲染

如果你的网页比较大,希望部分内容先显示出来,粘住浏览者,那么你可以按照上面的规则合理的布局你的网页,达到预期的目的。

5.JavaScript 定义了几种数据类型? 哪些是简单类型?哪些是复杂类型?

五种简单数据类型: number, string, boolean, null, undefind
两个复杂类型: object(对象) function(函数)

6.

  • 未定义的值和定义未赋值的为undefined
  • null是一种特殊的object
  • NaN是一种特殊的number。

7.typeof和instanceof的作用和区别?

typeof 可以判断数据的类型
instanceof 用于判断一个变量是否是某个对象的实例

你可能感兴趣的:(问答题 任务16)