- 浏览: 188396 次
- 性别:
- 来自: 湖州
最新评论
-
l_zh_y:
非常 感谢
spket-1.6.11.zip破解版-eclipse插件links方式安装包 -
nookiehuihui:
非常感谢 一直在找破解的
spket-1.6.11.zip破解版-eclipse插件links方式安装包 -
bangyan2003:
要破解的 这东西?????
spket-1.6.11.zip破解版-eclipse插件links方式安装包 -
oyhf521:
非常感谢啊,顶,就一个字
spket-1.6.11.zip破解版-eclipse插件links方式安装包 -
xiezhuogang:
哈哈,谢谢了
spket-1.6.11.zip破解版-eclipse插件links方式安装包
js 代码
- var $break = new Object(); //表示break的对象 可以对比java的exception的使用
- var $continue = new Object(); //表示continue的对象 可以对比java的exception的使用
- var Enumerable = {
- each: function(iterator) { //执行_each函数
- var index = 0;
- try {
- this._each(function(value) {
- try {
- iterator(value, index++);
- } catch (e) {
- if (e != $continue) throw e;
- }
- });
- } catch (e) {
- if (e != $break) throw e;
- }
- },
- //boolean 返回函数遍历执行后的总结果 如果每次执行都返回非假则得到true
- all: function(iterator) {
- var result = true;
- this.each(function(value, index) {
- result = result && !!(iterator || Prototype.K)(value, index);
- if (!result) throw $break;
- });
- return result;
- },
- //boolean 返回函数遍历执行后的总结果 只要遇到执行返回非假则得到true
- any: function(iterator) {
- var result = true;
- this.each(function(value, index) {
- if (result = !!(iterator || Prototype.K)(value, index))
- throw $break;
- });
- return result;
- },
- //result array 把函数遍历执行后的结果放进一个数组返回
- collect: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- results.push(iterator(value, index));
- });
- return results;
- },
- // 返回any函数中执行非假的那个参数value
- detect: function (iterator) {
- var result;
- this.each(function(value, index) {
- if (iterator(value, index)) {
- result = value;
- throw $break;
- }
- });
- return result;
- },
- // 针对collect函数进行过滤 只有执行非假的函数参数value才进入结果数组
- findAll: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- if (iterator(value, index))
- results.push(value);
- });
- return results;
- },
- // 针对collect函数进行过滤 只有执行value符合pattern,才把执行结果进入结果数组
- grep: function(pattern, iterator) {
- var results = [];
- this.each(function(value, index) {
- var stringValue = value.toString();
- if (stringValue.match(pattern))
- results.push((iterator || Prototype.K)(value, index));
- })
- return results;
- },
- //boolean 是否为value的数组的成员
- include: function(object) {
- var found = false;
- this.each(function(value) {
- if (value == object) {
- found = true;
- throw $break;
- }
- });
- return found;
- },
- //通过注入inject 累及运算结果进行 累计运算
- inject: function(memo, iterator) {
- this.each(function(value, index) {
- memo = iterator(memo, value, index);
- });
- return memo;
- },
- //传递 函数+需要的参数 进行遍历执行 并返回执行结果集
- invoke: function(method) {
- var args = $A(arguments).slice(1);
- return this.collect(function(value) {
- return value[method].apply(value, args);
- });
- },
- // 取函数遍历执行后 最大的返回值
- max: function(iterator) {
- var result;
- this.each(function(value, index) {
- value = (iterator || Prototype.K)(value, index);
- if (value >= (result || value))
- result = value;
- });
- return result;
- },
- // 取函数遍历执行后 最小的返回值
- min: function(iterator) {
- var result;
- this.each(function(value, index) {
- value = (iterator || Prototype.K)(value, index);
- if (value <= (result || value))
- result = value;
- });
- return result;
- },
- //把执行结果按照true 和 非true 作为2维数组返回
- partition: function(iterator) {
- var trues = [], falses = [];
- this.each(function(value, index) {
- ((iterator || Prototype.K)(value, index) ?
- trues : falses).push(value);
- });
- return [trues, falses];
- },
- // 遍历数组取每个元素的该属性值放进结果数组返回
- pluck: function(property) {
- var results = [];
- this.each(function(value, index) {
- results.push(value[property]);
- });
- return results;
- },
- //返回遍历执行函数iterator结果非真的元素的结合
- reject: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- if (!iterator(value, index))
- results.push(value);
- });
- return results;
- },
- //返回排序函数执行后的排序结果集
- sortBy: function(iterator) {
- return this.collect(function(value, index) {
- return {value: value, criteria: iterator(value, index)};
- }).sort(function(left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- }).pluck('value');
- },
- //可遍历集合转换成js数组
- toArray: function() {
- return this.collect(Prototype.K);
- },
- //zip压缩
- zip: function() {
- var iterator = Prototype.K, args = $A(arguments);
- if (typeof args.last() == 'function')
- iterator = args.pop();
- var collections = [this].concat(args).map($A);
- return this.map(function(value, index) {
- iterator(value = collections.pluck(index));
- return value;
- });
- },
- //查看 类似tostring
- inspect: function() {
- return '#this.toArray().inspect() + '>';
- }
- }
- Object.extend(Enumerable, {
- map: Enumerable.collect,
- find: Enumerable.detect,
- select: Enumerable.findAll,
- member: Enumerable.include,
- entries: Enumerable.toArray
- });
待完善,欢迎指点、意见、建议。
发表评论
-
【Extjs学习七】Extjs2.0 日期相关函数
2009-03-02 11:22 1159主要是parse 到date 和 format到string -
【Extjs学习七】Extjs2.0 form如何使用checkbox和radiobox
2009-02-27 08:59 4328问题:Extjs2.0 form如何使用checkbox和ra ... -
在Ext中如何使窗体总在最前面(how to set a window always on top
2009-01-23 17:10 1671http://hi.baidu.com/rainchen/bl ... -
【Extjs学习七】extjs2-淘宝特效代码实践
2008-09-26 09:56 2554学习extjs拿网站特效练了练手,是在 http://www. ... -
【Extjs学习六】extjs2-element全面分析
2008-09-11 19:51 2545分析图标见附件excel表格,大家可以可通过数据帅选等方式自行 ... -
spket-1.6.11.zip破解版-eclipse插件links方式安装包
2008-09-11 18:58 7850spket-1.6.11.zip破解版-eclipse插件li ... -
【Extjs学习五】Extjs2-lib源码分析图解
2008-09-10 08:33 1560针对ext-lib进行了大致的分析,画了个简单的类图,给我的感 ... -
【Extjs学习四】Extjs2事件机制源码分析图解
2008-09-09 15:51 3350http://www.iteye.com/topic/1569 ... -
Extjs2.2 已经开始抛弃其他框架了吗?
2008-09-08 19:05 1095如题: 我看到在ext-base中ext.lib.event有 ... -
【Extjs学习三】Extjs2使用心得摘录
2008-07-17 09:35 1258080717 Ext.data.JsonStore的必要参 ... -
【Extjs学习二】Extjs2小控件slideplayer
2008-07-04 17:10 2787这下子左右上下的tab都可以轻松添加到web页面上去了,目前没 ... -
【Extjs学习一】Extjs2继承函数简单分析及疑问
2008-05-21 19:48 3601Ext = {version: '2.0'}; ... -
摘录的文章
2008-05-14 19:10 831http://www.cnblogs.com/leadzen/ ... -
给javascript library挑挑刺
2007-05-16 10:59 6606第一个观点:(js代码不仅仅是为了实现功能而且是拿来给程序员看 ... -
I Love javascript
2007-04-02 22:58 110学习javascript是一个长期的过程,解释型弱类型动态语言 ... -
【prototype学习】基于prototype的tree(纯数据驱动OO)
2006-12-30 20:19 3081rt: 给出代码和demo; 看到很多tree的实现,很少有数 ... -
【prototype学习】基于prototype的拖动以及3横2竖布局
2006-12-25 16:25 4088rt ps: 学习prototype ing,参考着做了 ... -
【prototype学习】基于prototype的表单验证(二)
2006-12-12 16:26 16276上次在javaEye上看到了一 ... -
【prototype学习】基于prototype的表单验证(一)
2006-11-28 10:20 12140前台的表单验证是项目必不可少的一个部分,可以说是WEB项目很重 ... -
我的javascript学习之路(三) 对象之this
2006-09-16 12:10 4970主题:"this" of Ja ...
相关推荐
【Prototype Enumerable对象】是Prototype框架的核心组成部分,它提供了一系列用于枚举操作的实用方法,即处理集合对象的方法。Enumerable本身并不是一个独立使用的对象,而是一个模块,设计用于与其他对象混合...
但是,为了保持兼容性,Prototype的源码并未直接使用原生方法,而是自己实现了整个Enumerable模块,确保能在各种环境下工作。 此外,Enumerable中还有一些其他重要的方法,如`all`, `any`, 和 `include`。这三个...
为了使`Enumerable`能够应用于不同的对象,Prototype库中`Enumerable`的`each`方法实际上会调用对象自身的`_each`方法,这样,任何继承或混合了`Enumerable`的对象都需要提供`_each`来执行实际的迭代。例如,我们...
通过这个Prototype demo,开发者可以学习到如何利用Prototype库来增强JavaScript的原生对象,提升代码的可读性和可维护性,并掌握基于Prototype的Ajax操作,提高Web应用的用户体验。同时,结合CSS文件,可以了解前端...
在JavaScript的世界里,`Prototype`库提供了...虽然`Prototype`库中的方法众多,可能会增加学习曲线,但对于复杂的编程任务来说,这些工具提供了极大的便利性。建议深入研究源代码,以更直观地理解这些方法的工作原理。
通过查看"node-enumerable-master"压缩包中的源码,开发者可以深入了解每个方法的实现原理,学习如何优雅地扩展JavaScript原生类型,以及如何利用TypeScript编写高质量的代码。 总结来说,"node-enumerable" 是一...
### Prototype学习资料:深入解析与应用 #### 引言 Prototype框架自问世以来,便以其卓越的性能和简便的操作在JavaScript开发领域占据了重要的地位。它不仅简化了动态Web应用程序的开发流程,还提供了丰富的功能,...
JavaScript框架是Web开发中不可或缺的一部分,它为开发者提供了一种标准化的方法来组织和编写JavaScript代码,使得代码更易于维护和扩展。...学习并熟练掌握Prototype,将使你能够在Web开发中游刃有余。
通过深入理解和使用这个项目,开发者可以学习到如何在C#中实现高效的线程控制,以及如何利用异步编程模型来提高应用程序的响应性和性能。同时,对于函数超时的处理也是提升程序健壮性的重要一环。通过实践和调试,...
**原型库Prototype 1.4详解** Prototype是一个广泛使用的...它的文档详细且易于理解,是学习和使用Prototype的宝贵资源。通过熟练掌握Prototype 1.4,开发者可以提高代码质量,减少兼容性问题,提升开发效率。
除了上述功能,Prototype还包含了一些实用工具,如Enumerable模块中的各种集合操作方法,Object.extend()用于对象合并,以及Hash类用于键值对存储等。 综上所述,Prototype 1.6.0.3版本通过“prototypejs.js”文件...
通过对`Element`、`Array`、`Enumerable`、`Function`和`Number`等对象的方法的学习,开发人员可以更好地掌握如何使用Prototype来提升JavaScript编程的能力,从而构建出更加强大和灵活的Web应用程序。此外,通过参加...
8. **Enumerable类**:类似于Java中的List对象,提供了一套迭代和操作集合的方法,如`each(iterator)`,可以遍历任何实现了Enumerable接口的对象,执行传入的迭代器函数。 Prototype框架通过这些功能极大地提升了...
对于那些刚开始接触 prototype.js 的用户来说,可能已经注意到该库的文档支持相对有限,因此深入研究其源码和实际应用中的探索是学习过程的重要组成部分。 #### 二、一些实用的函数 这一章节主要介绍了一些常用的...
Prototype 还定义了一些新的对象和类,包括但不限于 PeriodicalExecuter、Prototype、Enumerable、Hash、ObjectRange、Class、Ajax、Ajax.Responders、Ajax.Base、Ajax.Request、options argument object、Ajax....
Recursively Enumerable Sets and Degrees by Rovert I. Soare。递归论的书籍,Soare的,从djvu转过来的,有可能有误。经典的教材
`prototype.js` 引入了枚举(Enumerable)的概念,它提供了一套用于迭代和处理数组或集合的方法,类似于Ruby语言中的风格,包括`each`, `map`, `select`等,极大地提高了代码的可读性和效率。 #### 五、`prototype....