日期:2014-05-16 浏览次数:20442 次
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? 希望起到抛砖引玉的效果