jquery 自定义类及插件

//插件开始
(function($){
              //成员里var表私有,this.表公有,无任何修饰表实例化之后才有效的变量或方法
              $.classA= function(agr){
              
                            instanceAttr= "实例化后有效的变量";
                            var  privateAttr = "私有变量";
                            this.publicAttr= "公有变量";
                            
                            //实例化后有效的方法
                            instanceFun= function(){
                                          alert(instanceAttr);
                            };
                            
                            //公有方法
                            this.publicFun= function(){
                                          alert(this.publicAttr);
                            };
                            
                            //私有方法
                            var  privateFun = function(){
                                          alert(privateAttr);
                            };
                            
                            //调用私有方法
                            this.callPrivate= function(){
                                          privateFun();
                            };
              };
              
//插件结束
})(jQuery);

//使用注意1
$(function(){
          var a = new $.classA({});
          alert(instanceAttr);            // 正常
          alert(a.instanceAttr);         //  undefined
          instanceFun();                  //  正常
          a.instanceFun();               //  报错
          alert(privateAttr);             //  报错
          alert(a.privateAttr);          //   undefined
          privateFun();                   //   报错
          a.privateFun();                //   报错
});


(function($){
         //扩展方法,$('#anyone').fun_name(),即任何元素都可使用
         $.fn.fun_name=function(){};
})(jQuery);

  

posted @ 2013-11-27 15:45  关桐  阅读(257)  评论(0)    收藏  举报