JavaScript中创建字典对象(dictionary)的实例
对于JavaScript来说,其自身的Array对象仅仅是个数组,无法提供通过关键字来获取保存的数据,jQuery源码中提供了一种非常好的方式来解决这个问题,先看一下源码:
复制代码 代码如下:
function createCache() {
var keys = [];
function cache(key, value) {
// Use (key + " ") to avoid collision with native prototype
// properties (see Issue #157)
if ((key += " ") > eLength) {
// Only keep the most recent entries
cache[t()];
}
return (cache[key] = value);
}
return cache;
}
上述源码是创建一个编译结果的缓存,代码调用方式如下:
复制代码 代码如下:
var codecache = createCache();
源码中,keys用来保存键,而cache对象用来保存键值对,并通过全局变量eLength控制键的最大数量,若超过该数量,则自动删除第一个键及键值对。
本代码利用了闭包的`结构,使外部代码无法访问到keys变量,这样就能确保keys变量的安全性。当然,由于JavaScript语句的特点,外部代码还是可以通过修改cache属性使键与键值对不匹配。不过,只要不故意恶搞,这本身应该也没有太大的关系。
当然,它也不能宣誓一个完善的dictionary对象,因为其未提供主键重复的判断等关键功能,有兴趣的朋友们可以完善它。
-
网页设计10大灵感来源介绍
不仅仅只有网页设计能激发我们创建出色网站的动力,几乎我们身边的任何事都会有此作用。以下是本站小编搜索整理的关于网页设计10大灵感来源介绍,供参考借鉴,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!自然图01图02思考设计的最佳场所...
-
SQL语句类型的标准模式
1、查询语句:主要是由select关键字完成2、事务控制语句:主要由commit、rollback和savepoint三个关键字完成3、DML(数据操作语言)语句:主要由、update和三个关键字完成4、DDL(数据定义语言)语句:主要由create、alter、drop和truncate四个关键字完成5、DCL(数据控制...
-
水星路由器设置wap
用户请根据自己的宽带接入方式,按照上面介绍的方法,安装你的水星(Mercury)MW153R路由器。以下是小编为大家整理分享的水星路由器设置wap,欢迎阅读参考。水星路由器设置wap本文介绍了水星(Mercury)MW153R无线路由器的安装、上网设置以及无线网络(Wi-Fi)的设置;一台...
-
JavaScript基本语法分析
一、JavaScript基本语法。(一)数据类型与变量类型。整数,小数,布局,字符串,日期时间,数组强制转换:parseInt()parseFloat()isNaN()(二)数组var数组名=newArray([长度]);//“假冒”数组th-长度a[下标]=值。a[下标](三)函数复制代码代码如下:function函数名(形参){}function...
相关文章
- JavaScript如何实现JSON.stringify
- Javascript中设立对象的ReadOnly属性
- 好奇心与创造能力英语作文 Curiosity and creativity
- My Happy Times During Winter Vacation初中英语作文
- 有关JavaScript中的prototype.bind()方法介绍
- 英语阅读:VIT declines to acquire Ang Mo Kio property
- 初中英语写作范文:My Happy Times During Winter Vacation
- JavaScript在Android的WebView中parseInt函数转换不正确
- javascript中String对象的slice()方法
- 如何在Javascript中为String对象添加trim,ltrim,rtrim方法