今天在看jquery实战中看到几句话,扩张jquery有两种形式,分别是1.直接定义在$的实用函数, 2.操作jquery包装集的方法
拿一个名字hello做比较,貌似一个就是$.hello=...  一个是 $.fn.hello....我的疑问是这俩有啥区别么。。我看书上说第一个编写自定义的函数,这些函数不是为了操作DOM元素,他们或者说操作非元素的js对象,或者是执行一些其他的不具体的操作任何对象的行为不是很理解。。
希望大神能指点下

解决方案 »

  1.   

    function a(){
    }a.x = function(){}
    a.prototype.x = function(){}这两个有什么区别。
      

  2.   

    一个是静态方法,一个是实例方法。
    一个用$.hello();一个用$("#test").hello();见最多的jq插件一般都是这样:
    $.fn.hello = function(){
      return this.each(function(){
        
      });
    };
      

  3.   

    使用JS有一段时间了, 但是没有系统的学习过。
    刚刚到网上查了一下。下面的链接或许有帮助。http://stackoverflow.com/questions/7694501/class-static-method-in-javascriptfunction Foo{}Foo.talk = function() {};
    //talk是静态方法
    Foo.prototype.walk = function(){};
    //walk是实例方法