JS表的模拟方法_javascript技巧

本文实例讲述了JS表的模拟方法。分享给大家供大家参考。具体方法如下:

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>列表</title>
    <script>
     function List(){
      this.listSize= 0;
      this.pos=0;
      this.dataStore=[];//初始化一个空数组来保存列表元素
      this.clear =clear;
      this.find = find;
      this.toString= toString;
      this.insert = insert;
      this.append= append;
      this.remove =remove;
      this.front = front;
      this.end = end;
      this.prev =prev;
      this.next = next;
      this.length= length;
      this.currPos= currPos;
      this.moveTo= moveTo;
      this.getElement =getElement;
      this.length = length;
      this.contains = contains;
      function append(element){
        this.dataStore[this.listSize++] = element;
      };
      function find(element){
        for(var i =0; i<this.dataStore.length; i++){
          if(this.dataStore[i]===element){
            return i ;
          }
        }
        return -1;
      }
      function remove(element){
        var foundAt =this.find(element);
        if(foundAt!=-1){
          this.dataStore.splice(foundAt,1);
          this.listSize--;
          return element;
          //return true 原本是这样,后面本人改为ELEMENT
        }else{
          return false;
        }
      }
      function length(){
        return this.listSize;
      }
      function toString(){
        return this.dataStore;
      }
      function insert(element,after){
        var insertPos = this.find(after);
        if(insertPos!=-1){
          this.dataStore.splice(insertPos+1,0,element);
          this.listSize++;
          return true;
        }else{
          return false;
        }
      }
      function clear (){
        delete this.dataStore;
        this.listSize=0;
        this.pos=0;
        this.dataStore=[];
      }
      function contains(element){
        for(var i =0; i<this.dataStore.length; i++){
          if(this.dataStore[i]===element){
            return true ;
          }
        }
        return false;
      }
      function front(){
        this.pos = 0;
      }
      function end(){
        this.pos = this.listSize-1;
      }
      function prev(){
        // if(this.pos> 0){
          --this.pos;
       // }
      }
      function next(){
        // if(this.pos< this.listSize-1){
          ++this.pos;
        // }
      }
      function currPos(){
        return this.pos;
      }
      function moveTo(pos){
        this.pos= pos;
      }
      function getElement(){
        return this.dataStore[this.pos];
      }
     }
     var list = new List();
     list.append({name:'夏广成',sex:'男'});
     list.append({name:'江荣盛',sex:'男'});
     list.append({name:'杜强',sex:'男'});
     list.append({name:'巧华',sex:'女'});
     list.append({name:'方阳',sex:'男'});
    for(list.front(); list.currPos() < list.length() ; list.next()){
     var item = list.getElement();
     if(item.sex =='女'){
      list.remove(item);
     }
    }
    for(list.front(); list.currPos() < list.length() ; list.next()){
     var item = list.getElement();
      console.log(item.name);
    }
    </script>
  </head>
  <body >
  </body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js
, 方法
, 模拟

javascript技巧、javascript高级技巧、javascript调试技巧、javascript小技巧、javascript实用技巧,以便于您获取更多的相关知识。

时间: 2024-08-29 12:50:44

JS表的模拟方法_javascript技巧的相关文章

js实现a标签超链接提交form表单的方法_javascript技巧

本文实例讲述了js实现a标签超链接提交form表单的方法.分享给大家供大家参考.具体实现方法如下: <form action="/home/search" method="get" id="search_form"> <div class="searchBox png" id="searchBox"> <input type="text" id="

利用JS屏蔽页面中的Enter按键提交表单的方法_javascript技巧

如在设置了JS代码响应<p>标签的Enter按键触发事件时,根据冒泡型事件原则该事件会一直传到<from>表单处,并将表单提交.这不是我们想要的效果,我们可以设置如下代码来加以屏蔽: $(document).keydown(function(event){ switch(event.keyCode){ case 13:return false; } }); 但是,如果页面中有按钮时在Opera浏览器中同样会提交表单,这是因为按钮在生成的HTML代码中是submit类型的,解决办法是

js实现键盘Enter键提交表单的方法_javascript技巧

本文实例讲述了js实现键盘Enter键提交表单的方法.分享给大家供大家参考.具体实现方法如下: //执行键盘按键命令 function keyDown(e){ var keycode = 0; //IE浏览器 if(CheckBrowserIsIE()){ keycode = event.keyCode; }else{ //火狐浏览器 keycode = e.which; } if (keycode == 13 ) //回车键是13 { //document.getElementById("lo

封装好的一个万能检测表单的方法_javascript技巧

检测表单中的不能为空(.notnull)的验证  作用:一对form标签下有多个(包括一个)表单需要提交时,使用js准确的判断当前按钮对那些元素做判断  用法:在form标签下 找到当前 表单的容器 给予class="form",当前表单的提交按钮给予 class="check"  需要验证为空的元素给予class="notnull" nullmsg="xx不能为空!"提示,需要进行逻辑判断的表单给予class="n

JS实现隐藏同级元素后只显示JS文件内容的方法_javascript技巧

本文实例讲述了JS实现隐藏同级元素后只显示JS文件内容的方法.分享给大家供大家参考,具体如下: 这里的demo.html文件在打开后会短暂显示与js文件同级的元素后马上隐藏这些元素,并显示同级的demo.js文件内容.具体代码如下: demo.html: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title><

javascript创建动态表单的方法_javascript技巧

本文实例讲述了javascript创建动态表单的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

用JavaScript动态建立或增加CSS样式表的实现方法_javascript技巧

1.简单的方法,不管不顾,直接这样就可以: document.createStyleSheet().cssText = '标签{color:red;' + // 这个注释只在当前JS中帮助理解,并不会写入CSS中 'width:300px;height:150px}' + '.类名{--}' + '#ID们{--}' ;  //完活.我喜欢分号这样写,和指令书写的起始位置对齐比较好一点,尤其是后面有其它语句的时候. 2.完善一点的方法,防止重复添加,可以通过添加样式表ID并对其判断来实现: if

js获取form的方法_javascript技巧

本文实例讲述了js获取form的方法.分享给大家供大家参考.具体如下: 先来看下面代码: <html> <head> <scirpy> window.onload=function(){ var f1=document.f1; var f2=document.forms[1]; alert(f2.id); var f3=document.forms['f1']; } </script> </head> <body> <form

js选项卡的实现方法_javascript技巧

本文实例讲述了js选项卡的实现方法.分享给大家供大家参考.具体分析如下: 一.思路 1. 获取元素: 2. for循环按钮元素添加onclick(点击) 或者 onmousemove(移入)事件: 3. 点击当前按钮时会以高亮状态显示,通过for循环历遍把所有的按钮样式设置为空在把所有div的display设置为none. 4. 点击当前按钮添加样式,把当前div显示出来,display设置为block. 二.html代码: <div id="div1"> <inpu