|
今天在百度上看到有人问怎么用Javascript 写一个学生管理系统。个人认为没有什么实现价值。无聊练练手吧,很久没写JS了。
本来要用Array来保存数据的,没试过用JS来数据结构,就用JS来试试吧。 JS效率真的很低一个链表装1000个对象浏览器就提示运行缓慢了。 之前觉得AJAX3D挺用前景的,现在看来还没有流行就要夭折了。用delphi开发的游戏人们都觉得太慢了,何况用JS。 下面是我实现的一个链表: 复制代码 代码如下: /*@author eric *@mail shmilyhe@163.com *blog.csdn.net/shmilyhe */ <script> function Student(no,name){ this.id=no; this.name=name; this.scores={chinese:0,math:0,english:0}; } function List(){ this.head=null; this.end=null; this.curr=null; } List.prototype.add=function(o){ var tem={ob:o,next:null}; if(this.head){ this.end.next=tem; this.end=tem; }else{ this.head=tem; this.end=tem; this.curr=tem; } } List.prototype.del=function(inde){ var n=this.head; for(var i=0;i<inde;i++){ n=n.next; } n.next=n.next.next?n.next.next:null; } List.prototype.next=function(){ var te=null; if(this.curr){ te=this.curr.ob; this.curr=this.curr.next;} return te; } List.prototype.hasnext=function(){ if(this.curr.ob!=null)return true; return false; } var list=new List(); for(var i=0;i<1000;i++){ list.add(new Student(i,'name'+i)); } var i=0; while(list.hasnext()){ document.writeln(list.next().name); if(i==10){document.writeln('<br/>'); i=0;} i++; } </script>
|
|