在这里的THIS是没问题的,但是把THIS做为参数再去执行其他的部分,这个THIS所指的是会变的
上面那个例子就是
net.ContentLoader.onReadyState.call(loader); 
这部分

解决方案 »

  1.   

    如果改成net.ContentLoader.onReadyState.call(this);  
    那么call(this)中的this就不是原来的this所指向的对象了吗?楼上的能解释详细点吗?在线等~~  
      

  2.   

    楼主可以搜索下JAVASCRIPT闭包问题
    我记得以前 BlueDestiny 兄弟写了一篇博客,上面比较详细
      

  3.   

    这个应该不属于闭包,我觉得是不是因为静态方法的参数不能直接使用this的原因,所以才这么写。但是网上又找不到相关的证明。谁能告诉我,苦等中~~
      

  4.   

    请注意,在这里,net.ContentLoader.prototype.loadXMLDoc是做为一个对象出现的,req是当前对象的一个属性,所以要用this,同样的,如果你是定义了一个变量做为接收xmlhttp对象的话就不用this了,这是由于req的不同性质引起的,关于js的类和对象问题,强烈推荐你去看一看李战写的<悟透javascript编程>