网络编程
位置:首页>> 网络编程>> JavaScript>> Mootools 1.2教程(14)——定时器和哈希简介(2)

Mootools 1.2教程(14)——定时器和哈希简介(2)

作者:Fdream 来源:Fdream博客 发布时间:2008-12-08 12:50:00 

标签:mootools,定时器,教程,哈希,javascript

Hash快速入门

创建一个hash

在上面的例子中,可能有一些东西是你从来没有见过的。首先,我们使用了hash。hash是一个由键值对(key/value)组成的集合,它和一个包含许多对象的数组类似,不过这些对象都只有一个属性。我们先来看一下如何建立一个hash:

参考代码:  

var hashVar = new Hash({ 
     'firstKey': 0, 
     'secondKey': 0 
});

你需要把键(key)放在左边,而值(value)放在右边(除了那些对hash很熟悉的人外,我们只讲一些关于hash最基本的东西,我们会在以后将类时再来讲hash的存储功能)。不管怎样,使用和这类似的系统还是又很多好处的。首先,你可以在一个对象中存储多个集合,存取变得容易得多,对于组织复杂的数据组织起来。

.set()方法和.get()方法

你也可以在hash中使用你熟悉的.set()和.get()方法。当你需要设置的时候,你声明一个键(key),然后是你要设置的值。当你需要获取的时候,你值需要声明你要获取的键(key)就行了。就这么简单。

参考代码: 


// 还是使用上面的hash 
// 这里我们设置firstKay的值为200 
hashVar.set('firstKey', 200); 

// 这里我们获取firstKey的值,现在是200 
var hashValue = hashVar.get('firstKey'); 

你可以可以通过引用hash.键名来获取一个值:

参考代码: 

var hashValue = hashVar.firstKey; 
// 上面的和下面的一样 
var hashValue = hashVar.get('firstKey'); 

 

添加一个新的键值对到hash中

.extend();方法

你可以通过.extend();方法来添加一个或者多个新的键值对(key/value pair)集合到hash中。首先,我们要创建一个新的键值对对象。

参考代码: 


// 这是一个普通的对象 
// 它包含键值对(key/value pairs) 
// 但是没有hash的功能 
var genericObject = { 
    'third': 450, 
    'fourth': 89 
}; 

如果我们要把这个集合加入到我们已经存在的hash中,我们只需要使用.extend();方法来扩展hash就行了:

参考代码: 


//现在hashVar包含了genericObject中的所有键值对 
hashVar.extend(genericObject); 

注意:任何重复的键都将会被后面的设置覆盖掉。因此,如果你在原始的hash中有"firstKey":"letterA"这样一对,然后你又扩展了一对"firstKey":"letterB",这样你在hash中的读取结果将是"firstKey":"letterB"。

合并两个hash

.combine();方法

这个方法可以让你合并两个hash对象,如果有重复的键将保留原始的值。其余的则和.extend()方法一样。

从hash中删除一个键值对

.erase();方法

我们已经见过这个方法一次了。它的工作就和你期望的那样。你声明一个hash,然后在后面副加上.erase();,最后你再把“键”(key)放在括号里面。

参考代码:  

hashVar.erase('firstKey');

hash和.each()方法

hash和.each()方法又一种特别的关系,当你遍历一个hash的时候,遍历的函数将把“值”(value)作为第一个参数传递,而把“键”(key)作为第二个参数传递——这和你在数组上使用.each的时候一样,它把每个“项”(item)作为第一个参数。

参考代码:  

hashVar.each(function(value, key) { 
    // 这将为hash中的每一个键值对弹出一个对话框 
    alert(key + ":" + value); 
});

更多学习

我们目前为止要讲的关于hash的内容就这么多了。由于这个系列教程中我们会更深入的学习,在以后我们将找一些机会来讲有关hash的更多功能。但是现在,如果你是初学者,我们只是希望你能对hash有一个基本的概念。很快我们就要讲解类(class)了,那个时候所有的东西才会串连起来。同时,阅读一下文档中有关hash的这一节

远程下载:下载一个包含你开始所需要的所有东西的zip包(44.54 KB)

asp之家下载地址:mootorial_day14_periodical.zip (44.54 KB)

包括MooTools 1.2的核心库,上面的示例,一个外部的JavaScript文件,一个简单的HTML页面和一个CSS文件。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com