"2019-02-22 回答 主要目的是避免直接操作 DOM 并使应用程序的状态能够简单的和 UI 保持同步。此外,他们还提供了创建组件的功能,在有相似功能(具有细小区别)的时候就可以进行重复使用,这样每当需要更新在多个地方重用的组件结构时就可以避免多个地方的重复修改。 像 jQuery 这样对 DOM 操作的库,应用程 .."

React, Vue, Angular, Hyperapp 等 JavaScript UI 库或框架的目的是什么?

2019-02-22

回答

主要目的是避免直接操作 DOM 并使应用程序的状态能够简单的和 UI 保持同步。此外,他们还提供了创建组件的功能,在有相似功能(具有细小区别)的时候就可以进行重复使用,这样每当需要更新在多个地方重用的组件结构时就可以避免多个地方的重复修改。

像 jQuery 这样对 DOM 操作的库,应用程序的数据通常保存在 DOM 自身中,通常作为类名或者 data 的属性。操作 DOM 来更新 UI 涉及许多额外的步骤并且可能随着时间的推移产生细微的 bug。保持状态的分离,当状态有修改时才让框架去处理 UI 的更新可以降低复杂度。也就是说使用手动更新 UI 的方式来表示一个新状态可以改进为:当状态为某个值时,可以让 UI 以使用创建应用程序的声明方式进行展现。

加分回答

返回总目录

每天 30 秒

  • 30Seconds

    前端面试 30s 系列问答翻译:

    英文原文请看 30-seconds-of-interviews

    99 引用 • 176 回帖 • 5 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    303 引用 • 966 回帖 • 1013 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    204 引用 • 1136 回帖 • 479 关注
感谢    关注    收藏    赞同    反对    举报    分享
回帖    
请输入回帖内容...