Prototype使用Hash对象
1.前言
Hash对象大致有如下方法:
1) clone():复制已有的Hash对象,返回复制产生的新Hash对象。
2) each(iterator):遍历Hash对象里每个key-value对象的迭代器,其中iterator是一个形如function(pair){}的函数,其中pair就是Hash对象的key-value对象。
3) get(key):根据key返回value,与Java Map的get()方法基本相似。
4) inspect():返回字符串显示Hash对象的key-value对,类似于Java Map的toString()方法。
5) keys():返回Hash对象的全部key组成的数组。
6) values():返回Hash对象的全部value组成的数组。、
7) merge(otherHash):将新的Hash对象合并到原有的Hash对象,返回新的Hash对象。
8) set(key, value):设置一对key-value对,类似于Java Map的put()方法。
9) toObject():将Hash对象转换成一个JavaScript对象,其实Hash对象和JavaScript都是key-value对,因此可以非常方便地相互转换。
10) toQueryString():将Hash对象转换成为查询字符串,这种查询字符串以‘key1= value1&key2=value2’的形式出现。
11) unset(key):删除key所对应的key-value对,执行该方法后返回key所对应的value。
12) update(object):使用object更新当前Hash对象。
2.例子
<!DOCTYPE html>
<html>
<head><meta name="author" content="OwenWilliam" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title> Hash对象 </title>
</head>
<body>
<script src="../../prototype.js" type="text/javascript">
</script>
<script type="text/javascript">
// 定义一个JavaScript对象
var person =
{name:'owen',age:29
};
// 将JavaScript对象转换成Hash对象
var h = $H(person);
// 将Hash对象转换成查询字符串。输出:name=owen&age=29
document.writeln(h.toQueryString() + "<br />");
// 测试merge方法
var person =
{name:'owen',age:29
};
var teacher =
{name:'owen.william',gender:'male'
};
// 将后一个Hash对象merge到前一个Hash对象中
var h = $H(person).merge($H(teacher));
// 输出:name=owen.william&age=29&gender=male
document.writeln(h.toQueryString() + "<br />");
// 直接使用JavaScript对象来更新Hash对象
h.update({age : 30 , subject :"java"});
// 将输出:name=owen.william&age=30&gender=male&subject=java
document.writeln(h.toQueryString() + "<br />");
// 遍历Hash对象的每个key-value对
h.each(function(pair)
{document.writeln(pair.key + "-->" + pair.value + "<br />");
});
</script>
</body>
</html>
3.运行结果
Prototype使用Hash对象相关推荐
- 将一个键值对添加入一个对象_细品Redis高性能数据结构之hash对象
背景 上一节讲Redis的高性能字符串结构SDS,今天我们来看一下redis的hash对象. Hash对象 简介 redis的hash对象有两种编码(底层实现)方式,字典编码和压缩列表编码.在使用字典 ...
- 【JavaScript高级教程】JavaScript prototype(原型对象)
所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法. function Person(first, last, age, eyecolor) {this.fi ...
- JS中函数的prototype属性和对象的__proto__属性
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- Prototype 学习——Function对象
这个对象就是对function的一些扩充,最重要的当属bind方法,prototype的帮助文档上特意说了一句话:Prototype takes issue with only one aspect ...
- prototype是原型对象,那__proto__又是什么呢,总不能是别名吧?
做过前端的都知道,两个必会的知识就是原型和原型链,如果有人问你,原型是什么?你是不是回答对象中都有一个默认的属性叫prototype,指向的就是原型.如果再追问你,那原型链是什么呢?你是不是回答如果在 ...
- prototype 属性重写对象方法和新定义对象方法
<script> /** * @From: http://www.happyshow.org/article.asp?id=135 * @From: http://www.blueidea ...
- 关于JavaScript的Prototype及原型对象的理解
学习JavaScript时,就一定会涉及到两个概念–prototype,原型对象.自己在做项目时可能无意中使用到,但是却没有真正去了解这个东西,在学会使用的基础上,进一步去理解它会帮助自己吸收到更多不 ...
- javascript中对象在OOP方面的一些知识(主要是prototype和__proto__相关)
1.构造函数(大写函数名 this 无return) 2.原型对象(函数.prototype) 3.实例对象( new出来的东西obj ) 备注:本文举例子都以Fn作为构造函数 Fn.pro ...
- 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系
转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...
- JSt中对象的prototype属性
JSt中对象的prototype属性,是用来返回对象类型原型的引用的.我们使用prototype属性提供对象的类的一组基本功能.并且对象的新实例会"继承"赋予该对象原型的操作.但是 ...
最新文章
- Golang库学习笔记 Gin(三)
- Gmail技巧之无限别名
- Python学习14 模块和包
- java.rmi.server.port_java.rmi.server.ExportException: internal error: ObjID already in use报错处理...
- java类型转换_Java类型转换
- python画画需要什么模块_python实战练手项目---使用turtle模块画奥运五环
- Windows Mobile 中怎样获得当前应用程序所在路径
- [Linux + 深度学习]Ubuntu18.04 深度学习环境配置
- 最速下降法极小化rosenbrock函数 代码_典型算法思想与应用9|分支限界法与电路布线问题
- 12.RabbitMQ实战 --- 聪明的Rabbit:扩展RabbitMQ
- 汇编语言和C语言的比较
- c语言冒泡排序法代码
- readelf命令使用说明
- Photoshop CC 2020软件安装教程
- 几何分布(一种离散分布)
- 09.mtk背光流程
- java calculator类_java里使用面向对象的思想编写一个计算器类(Calculator),可以实现两个数的加、减、乘、除运算...
- 漫谈广告机制设计 | 广告与自然结果的价值评估与利益分配
- 配色那么差,还不‘哥屋恩’去看电影!
- 【2020】07 留校