日期:2014-05-16 浏览次数:20563 次
1 感想 ????
??? javascript作为一种弱类型的语言,我们在开发时又喜欢又憎恨,一般作为开发java的我们来说,如果总是用面向对象的开发方法去学习,结果看来这并不是一个太好的方法,而当我们用JavaScript去模仿对象时,这对你的学习会起到很大的效果。这篇文章是用JavaScript去模仿java中生成一个map,也有参考别人的地方,希望大家有更好的方法能共享起来。
?
2 实践
?
function hashmap(){
var size = 0;
var entry = {};
this.put = function(key,value){
if(!this.containKey(key)){
entry[key] = value;
size++;
return true;
}else{
return false;
}
},
this.get=function(key){
if(this.containKey(key)){
return entry[key];
}
},
this.containKey = function(key){
return (key in entry);
},
this.containValue = function(value){
for( var i in entry){
if(entry[i] == value ){
return true;
}
}
return false;
},
this.clear = function(){
this.size =0;
this.entry = {};
},
this.size = function (){
return size;
},
this.keysByArray = function(){
var keys = [];
for(var keyIndex in entry){
keys.push(keyIndex);
}
return keys;
},
this.keysByString = function(){
var keys = [];
for(var keyIndex in entry){
keys.push(keyIndex);
}
return keys.join();
},
this.valuesByArray = function(){
var values = [];
for(var valueIndex in entry){
values.push(entry[valueIndex]);
}
return values;
},
this.valuesByString = function(){
var values = [];
for(var valueIndex in entry){
values.push(entry[valueIndex]);
}
return values.join();
},
this.remove = function(key){
if(this.containKey(key)){
delete entry[key];
size--;
}
}
}
?
3? 希望起到抛砖引玉的效果