欢迎光临散文网 会员登陆 & 注册

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

2023-07-20 00:14 作者:封笔一封心  | 我要投稿

P05:一、js有哪些内置基本对象?

(1)内置基本对象是什么?

内置基本对象是指在JavaScript运行环境中预先定义好的一组对象,开发者可以直接使用它们而无需额外的导入或声明。这些对象包含了一系列的属性和方法,用于解决常见的任务和问题。

(2)js有哪些内置基本对象(分三类)

  1. 数据封装类对象:Obiect(对象)、Array(数组)、Boolean(布尔值)、Number(数字)、String(字符串)。
  2. ES6新增对象:Symbol(标识唯一性的ID)、Map(映射)、Set(集合)、Promises(处理一步操作)、Proxy(代理)、Reflect(反射)。
  3. 其他对象:Function(函数)、RegExp(正则表达式)、Math(数学)、Data(日期)、Error(处理错误对象)。

二、如何最小化重绘和回流

(1)重绘回流是什么?

简单来说在JavaScript中,重绘(Repaint)和回流(Reflow)是浏览器执行页面布局和绘制的关键概念。它们是浏览器渲染引擎执行页面更新的步骤,对于性能和页面渲染速度的优化是非常重要的。

  1. 重绘(Repaint):重绘指的是当元素的外观样式(如颜色、背景、边框等)发生改变,但并没有影响其布局的时候,浏览器会重新绘制(重绘)该元素。重绘过程并不会改变元素的几何信息(大小、位置等),只是重新渲染元素的外观。
  2. 回流(Reflow):回流指的是当页面布局或几何信息发生改变,导致浏览器重新计算元素的布局和几何属性的过程。回流会涉及到整个页面或部分页面的重新测量、计算和重新布局。

回流的操作是比较耗费性能的,因为它需要浏览器重新计算元素的位置、大小和几何属性,有时候还会触发其他元素的重新布局。而重绘则相对较快,因为它只是重新绘制元素的外观而不需要重新计算布局信息,因此通过合理的使用和避免不必要的回流和重绘,可以提高页面的性能和渲染速度,优化用户的体验。

(2)如何最小化重绘与回流?

  1. 需要要对元素进行复杂的操作时,可以先隐藏display:none),操作完成后再显示。
  2. 需要创建多个DOM节点时,使用DocumentFragmentt创建完后一次性的加入document。
  3. 缓存Layout属性值,如:var left=elem.offsetLeft:这样,多次使用Iet只产生一次回流。
  4. 尽量避免用table布局(table元素一旦触发回流就会导致table里所有的其它元素回流)。

三、Javascriptf作用链域?

(1)作用域是什么?

作用域指的是在JavaScript中,变量在代码中可访问的范围。它决定了在何处以及如何查找和访问变量。

JavaScript中有三种主要类型的作用域:

  1. 全局作用域(Global Scope):全局作用域是在整个 JavaScript 程序中都可访问的作用域。在全局作用域中声明的变量和函数可以被项目中的任何部分访问。
  2. 函数作用域(Function Scope):函数作用域是在函数内部声明的变量所拥有的作用域。这意味着在函数外部无法访问函数内部声明的变量。每当创建一个函数时,就会创建一个新的函数作用域。
  3. 块级作用域(Block Scope):块级作用域是在代码块(通常是由花括号 {} 包裹的代码)内部声明的变量所拥有的作用域。在ES6之前,JavaScript中并没有块级作用域,变量的作用域只限于函数作用域和全局作用域。但是,通过使用 let 和 const 关键字,我们可以在if语句、循环等代码块中创建块级作用域。

需要注意的是:ES6引入了 let 和 const 关键字,它们具有块级作用域。而 var 关键字则具有函数作用域,但在没有块级作用域的情况下,它也可以用于在整个函数作用域中声明变量。因此,在编写 JavaScript 代码时,了解作用域是非常重要的,以避免变量冲突和不正确的访问。

(2)作用域链是什么?

作用域链(Scope Chain)是 JavaScript 中一种机制,用于解析变量的引用和查找变量的值。它是由多个嵌套的作用域形成的链式结构。

当在函数内部访问一个变量时,JavaScript 引擎首先会在当前函数的作用域中查找该变量。如果找到了变量,则直接使用该变量。如果在当前作用域中没有找到该变量,则会向上继续查找,进入上一层作用域,直到找到该变量或到达全局作用域为止。

这种层层嵌套的作用域链关系就是作用域链。作用域链的构建是在函数创建的时候确定的,并且在函数执行期间不会改变。


千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)的评论 (共 条)

分享到微博请遵守国家法律