美文网首页
js基础概念

js基础概念

作者: 李博洋li | 来源:发表于2017-05-24 13:45 被阅读0次

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

css需要放在页面的head中,用link标签引入,而放在页面底部会发生页面dom元素加载而样式后加载的情况发生。
JavaScript在页面中放在body底部比较好,因为JavaScript每一个引入标签或页面内联JavaScript是不会并行加载的,如果放在头部,文件比较大或网速不好的情况下,页面会一直空白,因为这一个JavaScript文件没有加载完成,体验非常不好,而且JavaScript逻辑放在头部,在dom元素没有全部加载出来的时候,某些语句会导致控制台报错。

2、解释白屏和FOUC

关于白屏

如果把样式放在底部,对于IE浏览器,在某些场景下(新窗口打开,刷新等)页面会出现白屏,而不是内容逐步展现;如果使用 @import 标签,即使 CSS 放入 link,并且放在头部,也可能出现白屏。

  • 解决方式:使用 link 标签将样式表放在顶部

关于FOUC

FOUC (Flash of Unstyled Content) 无样式内容闪烁

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

  • 出现FOUC的原因?
    • 脚本会阻塞后面内容的呈现
    • 脚本会阻塞其后组件的下载
  • 解决方式:将JS放在底部。

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

async和defer是script标签的一个属性:

  • async的作用是使加载和渲染后续文档元素的过程和 script.js 的加载与执行并行进行(异步)。
  • defer的作用是:加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成。
其区别是:
  • defer:脚本延迟到文档解析和显示后执行,有顺序
  • async:不保证顺序

4、简述网页的渲染机制

  1. 解析 HTML 标签, 构建 DOM 树
  2. 解析 CSS 标签, 构建 CSSOM 树
  3. 把 DOM 和 CSSOM 组合成 渲染树 (render tree)
  4. 在渲染树的基础上进行布局, 计算每个节点的几何结构。
  5. 把每个节点绘制到屏幕上 (painting)
浏览器渲染.png

相关文章

  • js基础概念

    1、CSS和JS在网页中的放置顺序是怎样的? css需要放在页面的head中,用link标签引入,而放在页面底部会...

  • js 基础概念

    所有 JavaScript 标识符对大小写敏感。 在 JavaScript 中,首字符必须是字母、下划线(-)或美...

  • 渐进式框架 Vue.js 基础入门及简单编程演示

    渐进式框架 Vue.js 基础入门及简单编程演示 ---------------------- 概念基础 ----...

  • js基础概念 简记

    语句:js中语句可不用分号结尾 var a = 3 声明前置: 变量申明前置和函数申明前置 注释: // 单行注...

  • JS基础及概念

    ES6中常见语法规定和关键字 常见语法 1.定义函数:不需要function也能定义一个函数,更加简便。2.以前的...

  • js的基础概念

    1:什么是js? js的全称叫javascript,它是一门弱类型、松散型的编程语言。 2:js的作用? 完成数据...

  • 01-npm基本使用

    Node.js基础知识 npm命令基本使用 概念 什么是NPM(node.js package managemen...

  • 前端知识体系

    html基础 css基础 盒模型 BFC 布局(栅格概念、典型布局) js基础 基本数据类型,类型检测, 自动类型...

  • JavaScript高级程序设计——原型和原型链

    前言 此文章为加深对JS中重要概念进行理解,不建议没有任何JS基础的人看,只为加深对概念理解通过实际的例子,而不是...

  • 大厂面试TS(上)

    一、TS面试基础知识 1、什么是TS? 概念:ts 是 js 的超集,即在原有的js语法基础上,添加强类型并切换为...

网友评论

      本文标题:js基础概念

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