 var Obj = function (key ,value){
    this.key = key; 
    this.value = value;
 };
 var ha = new Array();
 var markHash = function(){
	 this.name="hashTable";
	 this.test=function(){
		 alert('df');
	 }
    //this.a =ha;
 }
 markHash.prototype.haa = function (){
     return ha;
 }
 markHash.prototype.clear = function (){
     ha = new Array();
     clearMarkList();
 }
 markHash.prototype.clone = function (){
     return this;
 }
 markHash.prototype.getValue = function (key){
	 
     for(var i=0;i<ha.length ;i++){
         if(ha[i].key==key){
             return ha[i].value;
         }
     }
   return null; 
 }
 markHash.prototype.getKey = function (index){   
	 //alert("getKey:"+ha.length);
     for(var i=0;i<ha.length ;i++){
    	 //alert("index:"+index)
         if(i==index){
        	 //alert(ha[i].key);
             return ha[i].key;
         }
     }
   return null; 
 }
 markHash.prototype.put = function (key ,value){
 //alert("ndf:"+key);
 for(var i=0;i<ha.length;i++){
 if(ha[i].hasOwnProperty(key)){
	 return;
 }else{
	 continue ;
 }
 }
 //alert("长度:"+ha.length);
 ha[ha.length]=new Obj(key ,value);
 /*
	 * //alert("长度:"+ha.length); if(ha.length !=0){ for(var i=0;i<ha.length;i++){ //
	 * alert(ha[2]); //alert("长度:"+ha.length); if(ha.hasOwnProperty(key)){
	 *  } if(ha[i].key === key){ break; //alert("长度:"+ha.length);
	 * ha[ha.length]=new Obj(key ,value); //var objtemp=new Obj(key ,value);
	 * //ha.push(objtemp);
	 * 
	 * }else{
	 *  } } }else{ alert("长度0:"+ha.length); //ha.push(objtemp);
	 * ha[ha.length]=new Obj(key ,value); }
	 * 
	 */  
 }
 
 markHash.prototype.size = function (){
     return ha.length ;
}
 
 markHash.prototype.remove = function (key){
       for(var i=0;i<ha.length;i++){
         if(ha[i].key == key){
            ha.without(ha[i]);
         }
     }
 } 
//另一种哈希表
 function Hashtable() 
 {
   this._hash = {};
   this._count = 0;
   this.add = function(key, value) 
   {
       if (this._hash.hasOwnProperty(key)) return false;
       else { this._hash[key] = value; this._count++; return true; }
   }
   this.remove = function(key) { delete this._hash[key]; this._count--; }
   this.count = function() { return this._count; }
   this.items = function(key) {
	   if (this.contains(key))
		   return this._hash[key]; 
	   return null;
	   }
   this.contains = function(key) { return this._hash.hasOwnProperty(key); }
   this.clear = function() { this._hash = {}; this._count = 0; }
 }
