我做了一个闭包 里面放了一个数组 每次返回数组中一个对象(xmlhttprequest) 给一个ajax对象引用
按道理是由多少xmlhttprequest就有多少ajax,而且他们总是存在内存中的,每个ajax有个url的(this.url)现在我需要在闭包中比较寻找ajax的url 这样的话应该怎么做?????????????公司赶着进度  头都大了 

解决方案 »

  1.   

    function XMLHttpPool(param)
    {
    var pool = param||[];
    var sortF = function(a,b){
    return a.readyState - b.readyState;
    }
    return function(request_url)
    {
    alert(request_url);
    var se = self;
    var len = pool.length;
    if (len != 0){//如果对象池不为空
    pool.sort(sortF);
    if (pool[0].readyState != 0){//如果对象池中对象都不可用
    pool.push(createXMLHttpRequest());
    }
    else if (len > 5){//如果对象池有大于五个xmlhttprequest对象则销毁多余的空闲对象
    while (len > 5&&pool[1].readyState == 0){
    pool.shift();
    }
    }
    //剩下条件为对象池中对象少于6个并且至少一个可用,则不处理
    }
    else{//如果对象池中没有对象
    pool.push(createXMLHttpRequest());
    }
    return pool[len-1];
    }
    }
      

  2.   

    function AJAX_OBJ(url, callback){
    this.xmlHttp = null;
    this.url = url;
    this.callback = callback;
    }
      

  3.   

    因为版本遗留问题  必须用闭包了  这样需要在里面判断请求的url是否重复 不该页面的话 就必须在这里做个判断  请问有什么好的解决方案?