性能:纯CSS与jQuery

4th*_*ace 28 css performance jquery dom css3

我已经看到了纯CSS和等效的jQuery之间的一些代码比较.但我正在寻找有关为什么纯CSS比jQuery明确更快的细节.

以下是我见过的一些原因,但这些描述并不深入.我不确定它们是否真实.

  • CSS不必由浏览器评估
  • jQuery必须由浏览器进行评估
  • jQuery通过脚本语言

CSS是否必须由浏览器进行评估并且还要使用脚本语言?CSS不像jQuery那样走DOM,还是CSS有优势呢?

Bol*_*ock 32

  • CSS不必由浏览器评估

    不是.CSS是您编写样式表的语言,然后必须由浏览器加载,解析和评估; 见下文.

  • jQuery必须由浏览器进行评估

    是的,因为 ......

  • jQuery通过脚本语言

    是.jQuery是用JavaScript编写的,与CSS一样,它是一种必须由浏览器解析和评估的语言; 再次,见下文.

CSS是否必须由浏览器进行评估并且还要使用脚本语言?

它必须由浏览器进行评估,但作为一种语言本身,它使用本机代码实现,类似于布局引擎的其他核心语言功能,如HTML解析器和JavaScript引擎.CSS实现不是通过脚本语言实现的(当然,除非布局引擎本身是一个编写的).

CSS样式通过CSSOM暴露给脚本语言,这不是CSS实现本身,只是一个脚本API,您可以将其视为与HTML的DOM等效的CSS.

jQuery是用JavaScript编写的,然后由浏览器的JavaScript实现运行.如果你使用jQuery来应用CSS,那么jQuery必须访问DOM和CSSOM,它们再次用JavaScript实现,浏览器必须运行它.

这与使用jQuery选择器和原生Selectors API类似.jQuery选择器在Sizzle(一个JavaScript选择器库)中实现,而document.querySelector()DOM方法允许您直接从脚本使用浏览器本机实现的选择器引擎.

  • 你是说主要原因是因为CSS语言和运行时(或实现?)内置于浏览器中,但是很多jQuery完全是外部的,并没有得到本机(浏览器)的提升? (3认同)