Jquery源码分析---expand (扩展)
2010-09-14 13:38:59 来源:WEB开发网Jquery.extend怎么说也比prototype1.4的extend强。它不但支持深度clone,还能支持多个参数的对象clone到一个指定对象,而不是jquery中。比起Ext的继承,觉得在jquery中这样的继承足够用了。
9.3 、代码的重用
对于代码的重用,jquery的表现并不是很好。Prototype1.6和mootools采用extend或函数的methodize使代码结构更为紧凑,简洁。Jquery把所有功能分成静态方法和动态方法,也实现了重用。因为有的时候需要的静态方法提供了功能全部都在动态方法提供的话。那么在静态方法就要重新写过。这样代理的方式可以说是最基本的代码重用了。
Jquery对象是一个集合的操作,而jquery的静态方法很多都是第一个参数是传入元素。这样采用一个定制的methodize,和prototype1.6一样,我觉得代码会少很多的冗余的从静态方法转换成实例方法的函数。
对于这种转换,Jquery也不是完成的冗余,如
jQuery .each(("blur,focus,load,resize,scroll,unload,click,dblclick,"
+ "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + "submit,keydown,keypress,keyup,error").split(","), function(i, name) {jQuery.fn[name] = function(fn) {return fn ? this.bind(name, fn) : this.trigger(name);
};
});
采用each方法为Jquery对象进行转换不失为一种好的方法。
10 jquery的性能与问题
10.2 性能
查询的性能
Dom元素的插入的性能
Dom元素的remove的性能
10.3 问题
pushStatck
10.5最优使用
文章来源:http://jljlpch.javaeye.com/category/37744
更多精彩
赞助商链接