$.ajax() ?? 怎么能直接这样写呢 $又不是对象  ?
 $(..)这个返回才JQUERY对象
JS里函数可以拿来当对象用 但也是要实例化才能用 而$.ajax $是什么?
 ajax 莫非是$ 类里的静态成员?
但是 好像在function b() {};
b.prototype.z=function(){};
 b.z();//这是调用不成功的 ;
那么JQUERY是怎么实现的呢??

解决方案 »

  1.   

    看一下jq 源代码:
    window.jQuery = window.$ = function( selector, context ) {
        return new jQuery.fn.init( selector, context ); 
    };
      

  2.   

    呵呵 你們都沒理解我的意思 ! 我也不敢確定是不是那樣!其實類裏面的函數分了靜態,靜態函數沒有實例化也分配內存 ,也就是說可以通過類名 .屬性訪問  也就是說AJAX成員函數是靜態函數  所以能夠直接訪問到  。就這樣了  3Q
      

  3.   

    这里只是把ajax绑定到jQuery这么一个命名空间的前面,可以说跟他的dom的相关操作没什么关系。如果你非要用OOP一些思想强加到JS上,你会绕上很大的弯子。
      

  4.   

    jQuery.extend(
      ajax:function(){}
    )
      

  5.   


    <script>
    (function(window,undefined){
        var jQuery = function(selector){return new jQuery.fn.init(selector);};
        jQuery.fn = {
            init:function(selector){
                 //这里是jQuery选择器代码,好吧,我就省略了
            },
    toString:function(){
    return '[object jQuery]';
    }
        };
    jQuery.fn.init.prototype = jQuery.fn;
        jQuery.ajax = function(){alert('我就叫ajax了,这个有什么异议么?');};
        window.jQuery = window.$ = jQuery;
    })(window)// 我们用的代码
    alert('我是:'+$()+'对象');
    $.ajax();
    </script>
      

  6.   


    你改成
    function b() {};
    b.z=function(){};
     b.z();
    不就调用成功了