MoveSpace.prototype.moveEquipment= function(e)
{
    alert(this.StoreSpace);//在这里为什么老是弹出“undifined”呢?
} StoreSpace没有定义...,你也没在哪里有实例化什么“类”之类的...

解决方案 »

  1.   


    <div id="aa"></div>
    <div id="bb"></div><script>function MoveSpace(moveDiv, storeDiv) 

        this.MoveSpace = document.getElementById(moveDiv); 
        this.StoreSpace = document.getElementById(storeDiv); 
        alert(this.StoreSpace);//在这里弹出“[object]” 
        addEventListener(this.MoveSpace, 'mousemove', this.moveEquipment); 
    } MoveSpace.prototype.moveEquipment= function(e) 

        alert(this.StoreSpace);//在这里为什么老是弹出“undifined”呢? 
    } function addEventListener(element, eventType, handler) 

    try 

    if (element.addEventListener) 

    element.addEventListener(eventType, handler, false); 

    else if (element.attachEvent) 

    element.attachEvent('on' + eventType, handler); 


    catch (e) {throw e;} 

    (new MoveSpace("aa","bb")).moveEquipment()</script>两个都是object啊
      

  2.   


    <div id="aa">11111111</div>
    <div id="bb">2222222</div><script>function MoveSpace(moveDiv, storeDiv) 

        this.MoveSpace = document.getElementById(moveDiv); 
        this.StoreSpace = document.getElementById(storeDiv); 
        alert(this.StoreSpace);//在这里弹出“[object]” 

    var o=this;
        addEventListener(this.MoveSpace, 'mousemove', function(){ o.moveEquipment() }); 
    } MoveSpace.prototype.moveEquipment= function(e) 

        alert(this.StoreSpace);//在这里为什么老是弹出“undifined”呢? 
    } function addEventListener(element, eventType, handler) 

    try 

    if (element.addEventListener) 

    element.addEventListener(eventType, handler, false); 

    else if (element.attachEvent) 

    element.attachEvent('on' + eventType, handler); 


    catch (e) {throw e;} 

    new MoveSpace("aa","bb")</script>是这样吧
      

  3.   

    this.StoreSpace = document.getElementById(storeDiv);
        alert(this.StoreSpace);//在这里弹出“[object]” document.getElementById(storeDiv);就是个对象,所以没有出错alert(this.StoreSpace);//在这里为什么老是弹出“undifined”呢? 可能是调用顺序的事,也有可能访问方式不对,比如用对象.StoreSpace来访问,具体要看你全部的代码
      

  4.   


    <div id="aa">11111111</div>
    <div id="bb">2222222</div><script>Function.prototype.bindAsEventListener = function(object) {
      var __method = this;
      return function(event) {
        return __method.apply(object, [( event || window.event)].concat(Array.prototype.slice.call(arguments)));
      }
    }function MoveSpace(moveDiv, storeDiv) 

        this.MoveSpace = document.getElementById(moveDiv); 
        this.StoreSpace = document.getElementById(storeDiv); 
        alert(this.StoreSpace);//在这里弹出“[object]” 

        addEventListener(this.MoveSpace, 'mousemove', this.moveEquipment.bindAsEventListener(this)); 
    } MoveSpace.prototype.moveEquipment= function(e) 

        alert(this.StoreSpace);//在这里为什么老是弹出“undifined”呢?
    alert(e.type); 
    } function addEventListener(element, eventType, handler) 

    try 

    if (element.addEventListener) 

    element.addEventListener(eventType, handler, false); 

    else if (element.attachEvent) 

    element.attachEvent('on' + eventType, handler); 


    catch (e) {throw e;} 

    new MoveSpace("aa","bb")</script>
      

  5.   

    谢谢,各位的帮助,尤其是cloudgamer。