在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");
}
這樣就實現(xiàn)了一個簡單的類的封裝护桦,調用一下
function test(src){
var s=new a();
s.init();
s.show();
}
2接下來看數(shù)組的幾個用到的方法含衔。
pop()刪除并返回數(shù)組的最后一個元素
push()向數(shù)組的末尾添加一個或更多元素煎娇,并返回新的長度。
shift()刪除并返回數(shù)組的第一個元素
unshift()向數(shù)組的開頭添加一個或更多元素贪染,并返回新的長度缓呛。
3使用數(shù)組實現(xiàn)棧
function Stack(){
var a=new Array();
/* 實現(xiàn)入棧
*/
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;
}
/* 實現(xiàn)出棧
*/
Stack.prototype.Pop=function(){
if(a.length==0)
return null;
else
return a.pop();
}
}
4使用數(shù)組實習隊列
function Queue(){
var a=new Array();
/* 實現(xiàn)入隊列
*/
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;
}
/* 實現(xiàn)出隊列
*/
Stack.prototype.shift=function(){
if(a.length==0)
return null;
else
return a.shift();
}
}
還有很多方法,比如取得數(shù)組長度杭隙,將數(shù)組轉化成字符串哟绊,判斷數(shù)組為空等,均可使用數(shù)組方法實現(xiàn)痰憎。