美文网首页
JS 语法(16)

JS 语法(16)

作者: 吴晗君 | 来源:发表于2016-12-01 08:58 被阅读18次

问答

Paste_Image.png Paste_Image.png Paste_Image.png

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

  • 使用link标签将css样式表放在顶部
  • <script></script>放在尾部

二、解释白屏和FOUC

  1. 先把样式加载完汇总再渲染的浏览器
  2. 先把内容加载出来等发现样式的时候再去绘制一遍的浏览器

  • 如果是1类浏览器如果将css放在后面,因为等待时间加上自身的下载时间,会出现长时间白屏,如果是使用@import标签引入css也会出现白屏现象@import见简书
  • 如果是2类浏览器会出现Flash of Unstyled Content
  • 若未将js放在顶部,脚本禁用并发并阻塞其他内容下载并呈现,导致白屏或者内容加载到一半停住的情况。

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

  • 作用:如果将js放在<head>内,ayync和defer延迟加载script.js,实现异步加载防止阻塞后面内容呈现和在组件下载。
  • 区别:

  1. defer延迟到文档解析和显示后执行,有顺序(在现实中浏览器不一定按顺序执行也不一定在DomContentload执行之前完成。但是未来肯定会越来越遵从ECMA而规范。)
  2. async加载完js后马上执行,无顺序。谁快谁先上。
  3. 兼容性:async>IE9,defer<=9会有bug.

操作dom的脚本不用async和defer(或者该部分脚本回调)
执行脚和好页面执行共用一个线程,不能同时进行。
携程
segmentfault1
segmentfault2

四、简述网页的渲染机制

  • 解析HTML标签,构建DOM树
  • 解析CSS标签,构建CSSOM树
  • 把DOM和CSSOM组合成渲染树(render tree)
  • 在渲染树的基础上进行Layout,定位坐标和大小,是否换行,各种positiono,verflow,z-index属性
  • 把每个节点绘制到屏幕上
  • 某些动态修改dom属性或是css属性的js会导致重新layout
  • Reflow重新验证并计算Render Tree并layout,Repaint重新layout

参考
How to browsers work译文

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

  • 6+Symbol类型
  • 简单:number/string/boolean/undefined/null
  • 复杂:object{object狭义/数组/函数}

六、NaN、undefined、null分别代表什么?

  • NaN(not a number):本质是number类型,是js的特殊值,主要出现在将字符串解析成数字出错的场合。
  • underfined和null是两种特殊的数据类型。
  • undefined:系统为变量分配了内存地址有指针。但未给变量赋值。

  1. 如调用函数时该传递的参数未提供
  2. 对象没有赋值的属性
  3. 函数没有返回值时默认返回undefined

  • null:空指针。表示一个值被定义了,定义为空值,即该处的值现在为空。比如,调用函数时,不需要传入某个参数,这时就可以传入null。

七、typeof和instanceof的作用和区别?

  • 两者都是数据类型
  • typeof运算符:返回一个值的数据类型(number|string|boolean|function|undefined|object)
  • instanceof运算符:区分object类型里面{window|函数|数组|null}instanceof运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。

相关文章

  • Node.js基本语法

    title: Node.js基本语法date: 2019-07-16 09:59:16tags: [Node.js...

  • JS 语法(16)

    问答 一、CSS和JS在网页中的放置顺序是怎样的? 使用link标签将css样式表放在顶部 将 放在尾部 二、解...

  • 16.JS 语法

    学习内容:JavaScript基本概念,基础数据类型,运算符,流程控制语句 一、CSS和JS在网页中的放置顺序是怎...

  • task16-JS语法

    CSS和JS在网页中的放置顺序是怎样的? CSS以link方式放在头部,否则有可能出现白屏或者FOUC(无样式内容...

  • 任务16-JS 语法

    问答题 CSS和JS在网页中的放置顺序是怎样的?答:css:通过link标签将样式表放在 中。js:放在 中尾部。...

  • 任务16-JS 语法

    1. CSS和JS在网页中的放置顺序是怎样的? css放在head标签里 js放在body标签的最后主要是为了避免...

  • 任务16-JS 语法

    问答: 1. CSS和JS在网页中的放置顺序是怎样的? CSS一般放置在的 标签中。网页渲染时,先解析HTML标签...

  • JS基础和WebAPIs的关联性

    学习ECMAscript标准规定的基本语法掌握JS基础语法只学习JS基础做不了网页交互效果学习JS基础语法是为了后...

  • react-jsx

    jsx 是类似 js 模板语法 声明 jsx 使用 jsx jsx 语法 jsx 是 js 的语法扩展,在 jsx...

  • 4/07day28_js基础

    day28_js基础 回顾 JS基础语法 JS运算符 JS流程控制语句 条件语句 JS的条件语句和Java语法基本...

网友评论

      本文标题:JS 语法(16)

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