js中使用数组,也许你认为使用的太熟悉,它的使用也很简单。
这两天在研究Object的用法,想法很简单,想使用他的属性与值来做数据保存,当然如果是每个需要的属性一个一个的去写,很简单:
var vObj = new Object();
vObj.user_name="";
vObj.adress="湖南长沙";
alert(vObj,user_name);
一个一个的写,如果很少,也没有什么,但是有了十几个,就不想写了,爱偷懒的人总是希望能够写一个函数或者方法来完成这种重复性的劳动。我是一个不是很勤快的人,干这个活就不想做copy的活,得想个办法。呵呵。
。如果是js中有java中Hashtable或者HashMap的类就不会要考虑这个了。js是可以自动扩展它对象的方法与属性,但是难度是不知道自己到底扩展的是那些属性,但是如果使用数组对象来扩展,我们将会得到一个意想不到的东东。下面我们来看看下面的一段代码:
这个可以把数组当作哈希表来使用,是否很简单?
Array.prototype.put
=
function
(key,value)
...
{
this[key]=value;
this[this.length]=key;
}
Array.prototype.get = function (key) ... {
return this[key];
}
var vObj = new Array();
vObj.put( " user_name " , " 李光明 " );
vObj.put( " adress " , " 湖南长沙 " );
vObj.put( " work range " , " 软件设计师 " );
vObj.put( " corp " , " 中兴软创长沙研发中心 " );
var iLoop = 0 ;
var iLoopNum = vObj.length;
for (iLoop = 0 ;iLoop < iLoopNum;iLoop ++ ) ... {
var v_key = vObj[iLoop];
var v_value = vObj[v_key];
alert(v_key + "="+ v_value);
}
this[key]=value;
this[this.length]=key;
}
Array.prototype.get = function (key) ... {
return this[key];
}
var vObj = new Array();
vObj.put( " user_name " , " 李光明 " );
vObj.put( " adress " , " 湖南长沙 " );
vObj.put( " work range " , " 软件设计师 " );
vObj.put( " corp " , " 中兴软创长沙研发中心 " );
var iLoop = 0 ;
var iLoopNum = vObj.length;
for (iLoop = 0 ;iLoop < iLoopNum;iLoop ++ ) ... {
var v_key = vObj[iLoop];
var v_value = vObj[v_key];
alert(v_key + "="+ v_value);
}