JQuery学习笔记(三) 数据存储 插件机制 多库共存

          数据存储

               数据存储是指通过name,value往jquery对象上附上某些自定义的建值对应属性,

               var jButton=$("input:button");

                jButton.data("att","大家好!");               //附加特有属性   "大家好"
                alert(jButton.data("att"));       //大家好!
                jButton.data("att","首长好!");               //修改att属性  "首长好"
                alert(jButton.data("att"));       //首长好!
                jButton.removeData("att");                    //移出att属性

                alert(jButton.data("att"));    // undefind

               一、 data(name,value) 

                      在jquery上存放数据

                      name:   属性名

                      value:    属性值

                       返回值:   API上说是返回value,但是测试后发现时jquery对象(this)本身

               二、data(name)

                      name:属性名 

                      返回值:    返回对应的数据

                三、removeData(name)

                      name:属性名

                      返回值:jquery对象(this)本身

           插件机制

               插件机制其实是符合面向接口编程的,我提供extend这么个接口,你可以任意扩展此接口

                    jquery.extend(callback)     

                    jquery.fn.extend(callback) 

                    要区分两者的区别其实也不难,首先要明白两点:

                     一、(extend)js本身是没有类的概念的,万物皆对象(区分于面向对象中的万物皆对象),他说的是JS里,我们所谓的类(function class()),其实就是对象,因此我们可以  class.showname=function(){alert();}这样来给对象加属性,   此属性是类对象的属性,不为类的实例对象服务,其相当于jquery.extend(callback)等价于jquery.callback=function callback(){}

                          因此相当于类静态方法,只有类可以调用

                     二、(fn.extend)原型(prototype)

                          function People(){};     //在这里他即为类,也为对象

                          var p1=new People();  

                          var p2=new People();

                          People.showname=function(){alert("我是静态方法")};    //这个是为People对象服务的

                          People.prototype.showname=function(){"我是动态方法"};  //这个是为People类服务的,所以后面的类实例都调用此

                          p1.showname();

                    

posted @ 2010-12-08 14:33  菜鸟吃虫,虫吃菜  阅读(790)  评论(0编辑  收藏  举报