原生的JS 是不是渲染最快的?

原生的JS 是不是渲染最快的?
是不是比所有的框架的页面渲染都要快?

回复
阅读 3k
4 个回答

渲染跟 JS 有毛关系?

非说有关系,也只有阻塞式加载 script 的时候会影响渲染了,这还取决于你引的包有多大。

就算比性能,确实是徒手写 JS 性能比用框架要强。

但这问题,就像是问汇编语言跟 C/C++ 谁性能更好一样,有多少能徒手写汇编的?不考虑可维护性吗?就算你徒手写汇编了、你写的那玩意儿真的会比经过编译器优化过的 C/C++ 性能更好?

除非你这个网页上交互的东西非常少,否则框架从各种方面上都完爆直接写原生 JS。

现在用 WASM 可能更快
但是 不能只从一个维度去看问题

一个页面上有个十万行的表格,现在要求替换整个表格中的某个值.

那么,你有几种选择:

  1. 直接替换 DOM 元素的 value 或什么属性,然后页面假死;
  2. 内存中维护十万行数据,表格翻到哪行再改哪行,然后翻得多了(几千行或以上)页面假死;
  3. 内存中维护十万行数据,如果可视范围能看见十行数据,那么表格里只有十几行的 DOM,然后计算表格现在翻到哪一行就从数据里取那一行填上.

三种方式你都可以用原生 JS 写,而框架能让你以写 1 的体验(API 调用等等)提供 3 的实现.

如果你的页面只有一个输入框一个按钮,那么所谓原生是快一些的;
如果你的页面有各种各样复杂的组件还有各式各样的交互呢?你再原生也得用虚拟 DOM 的方式在内存中计算并只处理需要的部分.不然就等着页面假死吧.

我想大多数页面都不会简单到只有一个输入框和按钮的.

最后点一下题:用原生并不意味着能比框架快,在 3 的场景下你连页面功能都不能正常使用. 但简单场景下原生会比框架快一些. 至于快多少慢多少,自己做 benchmark 不要凭感觉.

专为需求定制化的方案和通用方案你说哪个好,各自有什么优劣?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏