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

2016-05-13  本文已影响0人  GeekNiuniu

在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();
}
}

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

上一篇下一篇

猜你喜欢

热点阅读