日期:2014-05-16  浏览次数:20344 次

JS面向对象的方法
var userObj = { 

//array用来存放数据
    array: new Array(), 

//得到该对象中存储的全部数据
    getArray:function(){ 
         return this.array; 
    }, 

//初始化对象数据
    setArray:function(tempArray){ 
        this.array = tempArray; 
    }, 

//给对象添加数据
    Add: function(key, value){ 
        var tmpArray = [key, value]; 
        this.array.push(tmpArray); 
    }, 

//返回全部的数据
    iterator:function(){ 
        return this.array; 
    }, 

//用户遍历数据的时候判断是否还有数据
    hasNext:function(){ 
        var temp = this.array.shift(); 
            if(this.array.length > 0){ 
            return true; 
        } 
       else{ 
            return false; 
        } 
    }, 

//遍历的时候得到第一个数据值(key——value)
    next:function(){ 
        var result = this.array.shift(); 
        this.array.unshift(result); 
        return result; 
    } ,
	
//删除数据
	removeData:function(key){
		var temp = this.array;
		var result = new Array();
		for(var i = 0; i < temp.length; i++){
			var values = temp.shift();
			if(values[0] == key){
				continue;
			}
			result.push(values);
		}
		this.array = result;
	},
	
//如果有数据,遍历所有的数据
	print:function(){
		var tempArray = this.array;
		var temp;
		for(var i = 0; i < tempArray.length; i++){
			temp = tempArray.shift();
			document.write("key --> value : " + temp[0] + "-->" + temp[1] +"<br>");
		}
	},
//根据key得到值
	getValueByKey:function(key){
		var tempArray = this.array;
		var result = "";
		for(var i = 0; i < tempArray.length; i++){
			var tempValue = tempArray.shift();
			if(tempValue[0] == key){
				result = tempValue[1];
			}
		}
		return result;
	}
}; 


//添加具体的数据
userObj.Add("name","huangbiao"); 
userObj.Add("age","23"); 
userObj.Add("addr","xi an"); 
userObj.Add("addr","hubei"); 


//移除一个值
//userObj.removeData("name");
//遍历所有的数据
//userObj.print();
//根据key得到对应的value
//alert(userObj.getValueByKey("age"));
alert(userObj.getArray());

//遍历数据是否存在
while(userObj.hasNext()) 
{ 

//得到数组的第一个数据
    var p = userObj.next(); 

//如果是“age”属性就将它的值给弹出来
    if(p[0] == "age") 
   { 
       alert(p[1]); 
   } 
}

?