Writing A Better JavaScript Library For The DOM 阅读记录
2014-02-26 15:25
549 查看
原文地址:http://coding.smashingmagazine.com/2014/01/13/better-javascript-library-for-the-dom/
主要观点:
live extension,主要思想是定义一次,以后增加dom元素的时候自动具有某功能。Web Components中的Decorator也是来解决类似问题的。native animation避免使用js的timer来做动画,使用css来做可以提升性能,这里没有做具体的对比试验,只是说:native animations will always be smoother: they are usually faster, take less energy and degrade well if not supported by the browser. 嵌入模板,可以使用类似css选择符的形式添加dom元素,解析速度很快。最后是国际化支持。
另外提到了jQuery的一些缺点:
$函数很复杂,开销很大,在mousemove或者scroll这类事件处理中容易导致较差的性能。其次,该函数获取dom和创建dom的使用方式很相像,不容易分辨。jQuery的中括号返回的是实际的dom,所以时刻需要记住当前用的是jQuery封装的对象还是原生的dom对象。jQuery事件处理函数中的return false除了取消默认行为以外,还阻止了事件冒泡。与规范有相冲突的地方。querySelector要比querySelectorAll性能快很多,最多可达到20倍。但是jQuery中使用了querySelectorAll但是没有使用高性能的querySelector来做一些事情。
主要观点:
live extension,主要思想是定义一次,以后增加dom元素的时候自动具有某功能。Web Components中的Decorator也是来解决类似问题的。native animation避免使用js的timer来做动画,使用css来做可以提升性能,这里没有做具体的对比试验,只是说:native animations will always be smoother: they are usually faster, take less energy and degrade well if not supported by the browser. 嵌入模板,可以使用类似css选择符的形式添加dom元素,解析速度很快。最后是国际化支持。
另外提到了jQuery的一些缺点:
$函数很复杂,开销很大,在mousemove或者scroll这类事件处理中容易导致较差的性能。其次,该函数获取dom和创建dom的使用方式很相像,不容易分辨。jQuery的中括号返回的是实际的dom,所以时刻需要记住当前用的是jQuery封装的对象还是原生的dom对象。jQuery事件处理函数中的return false除了取消默认行为以外,还阻止了事件冒泡。与规范有相冲突的地方。querySelector要比querySelectorAll性能快很多,最多可达到20倍。但是jQuery中使用了querySelectorAll但是没有使用高性能的querySelector来做一些事情。
相关文章推荐
- 10 Tips for Writing Better Code (阅读理解)
- Can not find the tag library descriptor for “http://java.sun.com/jsp/jstl/core”等
- Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
- 京JS 2013 - A two-day conference in Beijing for the JavaScript and Node.js community
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
- Professional javascript For Web Developers 第2版读书笔记第4集DOM
- Cannot find the tag library descriptor for http://jakarta.apache.org/struts/tags-tiles
- Kernel mode sockets library for the masses
- What is the $ symbol used for in JavaScript
- JSF错误:cannot find the tag library descriptor for "http://java.sun.com/jsf/core"
- Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
- eclipse提示Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/functions"
- Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
- Cannot find the tag library descriptor for http://jakarta.apache.org/struts/tags-tiles
- Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/
- unable to get system library for the project
- Can not find the tag library descriptor for "/struts-tags"
- Writing a Custom Membership Provider for the Login Control in ASP.NET 2.0
- Eclipse导入工程后,XDoclet错误:Missing library: xdoclet-1.2.1.jar. Select the home directory for XDoclet. 1.