javascript 历史栈
var Stack=function(limt_length){
this.stack=new Array();
this.limt=(limt_length)?limt_length:8;
}
Stack.prototype.push=function(o){
if(this.exist(o)){
this.remove(o);
this.stack.unshift(o);
}else{
this.stack.unshift(o);
}
while(this.stack.length>this.limt){
this.stack=this.stack.reverse();
this.stack.shift();
this.stack=this.stack.reverse();
}
};
Stack.prototype.pop=function(){
return this.stack.shift();
};
Stack.prototype.exist=function(o){
return (this.getIndex(o)>-1);
};
Stack.prototype.getIndex=function(o){
var ret=-1;
for(var i=0,len=this.stack.length;i<len;i++){
if(this.stack[i]==o){return i;}
}
return ret;
};
Stack.prototype.remove=function(o){
var _i=this.getIndex(o);
if(_i>-1){
var fArray=this.stack.slice(0,_i);
var bArray=this.stack.slice(_i+1,this.stack.length);
this.stack=fArray.concat(bArray);
}else{
throw new Eorr("栈中不包含此对象");
}
};
Stack.prototype.getCurret=function(){
return this.stack[0];
};
var s=new Stack();
var f=function(i){this.id=i;}
var tar=[];
for(var i=0;i<10;i++){
var _f=new f(i);
tar.push(_f);
s.push(_f);
}
var sss1=(function(){
var p="";
for(var i=0;i<s.stack.length;i++){
p=p+s.stack[i].id+","
}
return p;
})()
s.push(tar[1]);
var sss2=(function(){
var p="";
for(var i=0;i<s.stack.length;i++){
p=p+s.stack[i].id+","
}
return p;
})()
alert(s.getCurret().id+" "+s.pop().id)
alert(sss1)
alert(sss2)
相关文档:
String
字符串对象。声明一个字符串对象最简单、快捷、有效、常用的方法就是直接赋值。
属性
length
用法:<字符串对象>.length;返回该字符串的长度。
方法
......
1.认识数组
数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象
Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能
1.1 定义数组
声明有10个元素的数组
var a = new Array(10);
此时为a已经开辟了内存空间,包含10个元素 ......
JavaScript中的String是只读的,所以每次对String变量的操作都会在内存中产生一个零时变量,如果要对字符串进行大量的重复操作,性能和效率都会很低下,因此常用数组的方法操作字符串,即先把字符串都存储在数组中,然后使用join()方法连接字符串。
当然可以把这种方法再演变一下,在JavaScript中模拟StringBuffer类。
看 ......
css获取页面中心位置
.fixed
{
FONT-SIZE: 30pt;
color : #1A6841;
left:expression(eval(document.body.clientWidth)/2-150);
top:expression(eval(document.body.clientHeight)/2-25);
width:300px;
height:50px;
border:green 1px solid;
background:#99CCFF;
+position:absolute;
+left:expression(ev ......
使用过AJAX技术的人都知道大名鼎鼎的JQuery。虽然我来学习之前有看过AJAX的视频,但那时对WEB应用这个东西还比较模糊,不清楚HTML、JSP与Servlet是怎么工作的,甚至不知道JQuery包装的是什么东西。今日的学习再结合昨天的JavaScriptDOM的内容,让我对此十分清晰。JQuery原则:“write less, do more.” ......