Writing A Better JavaScript Library For The DOM 阅读记录
原文地址: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来做一些事情。
Writing A Better JavaScript Library For The DOM 阅读记录的更多相关文章
- A javascript library providing cross-browser, cross-site messaging/method invocation. http://easyxdm.net
easyXDM - easy Cross-Domain Messaging easyXDM is a Javascript library that enables you as a develope ...
- Raphaël—JavaScript Library
Raphaël-JavaScript Library What is it? Raphaël is a small JavaScript library that should simplify yo ...
- 编写高质量JavaScript代码绳之以法(The Essentials of Writing High Quality JavaScript)翻译
原文:The Essentials of Writing High Quality JavaScript 才华横溢的Stoyan Stefanov,在他写的由O'Reilly初版的新书<Java ...
- JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布
JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布 研究了一年多的js,也差不多写一个自己的js库了.我写这个不算框架,只是一个小型的js工具 ...
- jQuery JavaScript Library v3.2.1
/*! * jQuery JavaScript Library v3.2.1 * https://jquery.com/ * * Includes Sizzle.js * https://sizzle ...
- JavaScript之旅(DOM)
JavaScript之旅(DOM) [TOC] 一.认识DOM 什么是 DOM? DOM 是 Document Object Model(文档对象模型)的缩写. DOM 是 W3C(万维网联盟)的标准 ...
- Dynamices CRM JS 类库 神器 XrmServiceToolkit - A Microsoft Dynamics CRM 2011 & CRM 2013 JavaScript Library
XrmServiceToolkit - A Microsoft Dynamics CRM 2011 & CRM 2013 JavaScript Library http://xrmservic ...
- JavaScript大杂烩10 - 理解DOM
操作DOM 终于到了JavaScript最为核心的部分了,通常来说,操作DOM,为页面提供更为友好的行为是JavaScript根本目标. DOM树 - HTML结构的抽象 既然DOM是操纵HTML ...
- a Javascript library for training Deep Learning models
w强化算法和数学,来迎接机器学习.神经网络. http://cs.stanford.edu/people/karpathy/convnetjs/ ConvNetJS is a Javascript l ...
随机推荐
- (转)RRU交织冗余在LTE-R组网中的应用研究
RRU交织冗余在LTE-R组网中的应用研究 王 芳1,2 庞萌萌1,2 (1.北京全路通信信号研究设计院集团有限公司,北京 100070; 2.北京市高速铁路运行控制系统工程技术研究中心,北京 100 ...
- openVswitch(OVS)源代码分析之工作流程(数据包处理)
上篇分析到数据包的收发,这篇开始着手分析数据包的处理问题.在openVswitch中数据包的处理是其核心技术,该技术分为三部分来实现:第一.根据skb数据包提取相关信息封装成key值:第二.根据提取到 ...
- 现在的 Linux 内核和 Linux 2.6 的内核有多大区别?
作者:larmbr宇链接:https://www.zhihu.com/question/35484429/answer/62964898来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- 讨论Android开发中的MVC设计思想
最近闲着没事,总是想想做点什么.在时间空余之时给大家说说MVC设计思想在Android开发中的运用吧! MVC设计思想在Android开发中一直都是一套比较好的设计思想.很多APP的设计都是使用这套方 ...
- jpa summary
JPA Prepared by: John Tan March, Contents what Where to use JPA Difference between JPA and Mybatis 1 ...
- Redis 通用操作1
01, 设置值 => set key value 01.1, 设置值并添加有效期 => set key value ex 秒数 或者 set key value px 毫秒数 01.2, ...
- jboss 异常处理
异常: jboss.aop:service=AspectManager 15:19:46,361 ERROR [ScannerThread] [MainDeployer] org.jboss.depl ...
- python global nonlocal
global: 方法之外在modual中的变量定义为全局变量.方法内的变量为局部变量. 一般情况下,全局变量可以被使用,但是不应该被修改,不然会报错. 不过一般不建议对全局变量做修改,如果有多个方法都 ...
- visibility和display
visibility: hidden----将元素隐藏,但是在网页中该占的位置还是占着.display: none----将元素的显示设为无,即在网页中不占任何的位置.
- MySQL 逻辑备份工具
简介: Mydumper.Myloader 是一个第三方的.开源的 MySQL 逻辑备份工具. 支持多线程,比起 mysqldump 要快很多,也能解决 innobackupex 备份工具对 MyIS ...