一位朋友告诉我,jQuery可能很慢,因为它需要解析整个HTML页面,以便每个请求能够找到DOM对象并操纵它们。对于一个大页面,它会得到一个糟糕的表现。
然而,对于大型HTML页面,AngularJS可能更快,因为它“编译”HTML并且可以更快地访问DOM对象。
这是真的吗?你能否给出一个可靠的链接来证实这一点?
如果不是这样,请给我一个关于jQuery和AngularJS在访问DOM对象方面有何不同的解释。
我还通过性能基准进行了搜索,我只找到了这个:link。
如果Angular不比jQuery快,为什么测试错误?
答案 0 :(得分:9)
每次加载页面时,浏览器都会解析您的DOM,因此这不是框架问题。 AngularJS是围绕jqLite构建的,它实际上是jQuery的一个简洁版本,所以我不认为它会如何更快......
另一件事是他们计算的操作是什么? Angular与jQuery完全不同。 Angular是一个复杂的MVVM框架,而jQuery只是一个用于更简单和独立于浏览器的DOM操作的库。
编辑:必须有一些东西......我认为会发生的事情是,最后调用$apply
的角度循环使其非常快。也许向数组添加元素比将文本添加到字符串或将新创建的元素添加到另一个元素容器要快得多......当我将$apply
函数移动到angularPush
函数时,它是最慢的。您还可以查看jQuery修改。这一切都使本机实现最快......