美文网首页
在JS中使用Array实习栈和队列,并封装。

在JS中使用Array实习栈和队列,并封装。

作者: GeekNiuniu | 来源:发表于2016-05-13 20:39 被阅读0次

    在JS中使用Array实习栈和队列,并封装。

    1.先看一个简单的封装例子

    function a(){
    this.show=function()
    {alert("a show");
    };
    this.init=function(){
    alert("a init");
    };
    }
    

    或者这样写

    a.prototype.show=function() 
    { 
    alert("a show"); 
    } 
    a.prototype.init=function() 
    { 
    alert("a init"); 
    } 
    

    这样就实现了一个简单的类的封装,调用一下

    function test(src){
    var s=new a();
    s.init();
    s.show();
    }
    

    2接下来看数组的几个用到的方法。

    pop()删除并返回数组的最后一个元素
    push()向数组的末尾添加一个或更多元素,并返回新的长度。
    shift()删除并返回数组的第一个元素
    unshift()向数组的开头添加一个或更多元素,并返回新的长度。

    3使用数组实现栈

    function Stack(){
    var a=new Array();
    /*  实现入栈
    */
    Stack.prototype.Push=function(){
    if(argument.length==0)
    return -1;
    for(var i=0;i<argument.length;i++)
      {
      a.push(arguments[i]);  
      }
      return a.length;
    }
    /*  实现出栈
    */
    Stack.prototype.Pop=function(){
    if(a.length==0)
    return null;
    else
    return a.pop();
    }
    }
    

    4使用数组实习队列

    function Queue(){
    var a=new Array();
    /*  实现入队列
    */
    Stack.prototype.Push=function(){
    if(argument.length==0)
    return -1;
    for(var i=0;i<argument.length;i++)
      {
      a.push(arguments[i]);  
      }
      return a.length;
    }
    /*  实现出队列
    */
    Stack.prototype.shift=function(){
    if(a.length==0)
    return null;
    else
    return a.shift();
    }
    }
    

    还有很多方法,比如取得数组长度,将数组转化成字符串,判断数组为空等,均可使用数组方法实现。

    相关文章

      网友评论

          本文标题:在JS中使用Array实习栈和队列,并封装。

          本文链接:https://www.haomeiwen.com/subject/cvdmrttx.html