解决方案 »

  1.   

    function List(){
        ...
       // 成员函数写在List里面   
       function append(element){
            this.dataStore[this.listSize++] = element;
       }
       ...
    }
      

  2.   


    和这个无关,利用构造函数建立对象后使用方法时,this也是指向对象的,不是这个问题啊,我调了还是不对的。继续求问为什么会变成死循环?
      

  3.   

    原因是list中的next方法出现了问题:
    function next(){
        if(this.pos < this.listSize-1){
            ++this.pos;
        }
    }
    应该改成:
    function next(){
        if(this.pos < this.listSize){
            ++this.pos;
        }
    }