易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript实现key value对象

JavaScript的实现的Map,用着挺方便的,不知道性能怎么样。
自己用只有不超过10个元素,所以性能无所谓了。
/********************jsmap.js**************************/
/////// map 类
function classMap() {
  this.map = new Array();
 
  var struct = function(key,
value){
      this.key = key;
   this.value = value;
 };
 
 
this.lookUp = function (key){
   for (var i = 0; i <
this.map.length; i++)
   {
  if ( this.map[i].key === key )
  {
   
return this.map[i].value;
  }
   }  
   return null;
 };
 

  this.setAt = function (key, value){ 
      for (var i = 0; i
< this.map.length; i++)
   {
  if ( this.map[i].key === key )
  {
   
this.map[i].value = value;
    return;
  }
   }  
  
this.map[this.map.length] = new struct(key,value); 
 };
 
 
this.removeKey = function removeKey(key){
   var v;
   for (var i =
0; i < this.map.length; i++)
   {
  v = this.map.pop();
  if
( v.key === key )
    continue;
   
  this.map.unshift(v);
  
}
 };
 
  this.getCount = function(){
   return
this.map.length;
 };
 
  this.isEmpty = function(){
  
return this.map.length <= 0;
 };
}
////////////////////////////////////////////////////////////////////////////////////////////////
/********************调用***********************/
window.onload = function(){
  var map = new classMap();
  alert("is the map empty? " +
map.isEmpty());
  // string to array
  map.setAt("sw1", "aaaa


相关文档:

[转]javascript判断浏览器类型与版本

要想写出跨浏览器的javascript,就必须懂得嗅探技术。这是浏览器大战遗留下的大地雷,事已如此,只好认命,乖乖写分支结构吧,函数就是这样不知不觉中变长的。
先看单一浏览器的判断,我们没有必须去找navigator.userAgent的麻烦,我在国外的博客网站收集了如下hack,短小精悍:
 
ie = !+"\v1" ;
ie ='\v'=='v' ; ......

Javascript递归与各种循环执行效率的比较

以下分别是用递归和两种循环对斐波那契数列的简单实现。(结果仅供参考)
递归的模式:
function Fibonacci(num){
if(num <= 2){
return 1;
}else{
return Fibonacci(num - 1) + Fibonacci(num - 2)
}
}
var counter1 = new Counter();
Fibonacci(30);
counter1.show()
//Firefo ......

javascript 跨浏览器的事件系统4

上次说到我们在无菌环境中设计了一个事件代理函数,但性能是个问题,解决它我们需要缓存节点集合,发现节点集合不足以应对新情况时,再替换这个节点集合,重新开始匹配。下面是新的方案:

var delegate = function(selector,type,callback){
var els = $(selector);
addEvent(document,t ......

进一步理解javascript对象、数组和哈希表


进一步理解javascript对象、数组和哈希表 



在javascript中,对象实际上就是一个哈希表,比如下面这个user对象:
function user(n, a)
{
this.name = n;
this.age = a;
this.toString = function() {
return 'Name:' + ......

[转]JavaScript中的trim函数

/**
* 去除多余空格函数
* trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格
* 用法:
*     var str = "  hello ";
*     str = str.trim();
*/
String.prototype.trim = function()
{
    return this.replace(/(^[\\s]*)|([\\s]*$)/g, ""); ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号