JSPGen软件开发框架第四版 开发手册

2.9Jquery插件规范

2.9.1、使用闭包

  (function($) {
		// ... Code goes here
  })(jQuery);

这是来自jQuery官方的插件开发规范要求,使用这种编写方式的好处是:

避免全局依赖、避免第三方破坏、兼容jQuery操作符 '$' 'jQuery '

这段代码在被解析时会形同如下代码:

  var func = function($) {
  	// Code goes here
   };
   func(jQuery);

前者使用的是匿名函数形式。

 

2.9.2、扩展

jQuery提供了2个扩展‘基类’,分别为 $.extend$.fn.extend,我们可以选择第二种方式做一个简单插件:

  (function($){
	$.fn.myplugin = function(){
		alert(this[0].tagName);
	}
   })(jQuery);   
   // 之后我们便可按如下方式进行调用:
   $('selector').myplugin();

2.9.3、选择器

jQuery提供了功能强大,并兼容多种css版本的选择器,不过在使用选择器遵循以下规则:

A、尽量使用Id选择器,效率高于css选择器;

B、避免迭代选择器,如$('.jquery .child'),获取 classNamejquerydom下的所有classNamechild的节点,其实这样编写代码付出的代价是非常大的,jQuery会不断的进行深层遍历来获取需要的元素,即使确实需要,我们也应该使用如:

$(selector, context)$('selector1>selector2')
$(selector1).children(selector2)
$(selctor1).find(selector2) 之类的方式

C、使用缓存:每次调用 $('x')都会使用一部分内存,所以尽可能的这样定义:

  var $x = $('selector');
  $x.click(function(){
  	alert($x.attr('tagName'));
    // 而不是
    alert($(this).attr('tagName'));
    // 更不是
    alert($('selector').attr('tagName'));
  });


Copyright ©2006 - 2014 JSPGen.Com.All rights reserved.