📄 enumerable.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_06) on Sun Feb 19 02:37:46 CST 2006 -->
<TITLE>
Enumerable
</TITLE>
<META NAME="keywords" CONTENT="net.conic.prototype.Enumerable class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="Enumerable";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>类</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Enumerable.html"><FONT CLASS="NavBarFont1"><B>使用</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../net/conic/prototype/Date.html" title="net.conic.prototype 中的类"><B>上一个类</B></A>
<A HREF="../../../net/conic/prototype/Event.html" title="net.conic.prototype 中的类"><B>下一个类</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?net/conic/prototype/Enumerable.html" target="_top"><B>框架</B></A>
<A HREF="Enumerable.html" target="_top"><B>无框架</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>所有类</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>所有类</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
摘要: 嵌套 | <A HREF="#fields_inherited_from_class_net.conic.prototype.Object">字段</A> | <A HREF="#constructor_summary">构造函数</A> | <A HREF="#method_summary">方法</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
详细信息: 字段 | <A HREF="#constructor_detail">构造函数</A> | <A HREF="#method_detail">方法</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
net.conic.prototype</FONT>
<BR>
类 Enumerable</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="继承者 "><A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">net.conic.prototype.Object</A>
<IMG SRC="../../../resources/inherit.gif" ALT="继承者 "><B>net.conic.prototype.Enumerable</B>
</PRE>
<DL>
<DT><B>直接已知子类:</B> <DD><A HREF="../../../net/conic/prototype/ajax/AjaxResponders.html" title="net.conic.prototype.ajax 中的类">AjaxResponders</A>, <A HREF="../../../net/conic/prototype/Array.html" title="net.conic.prototype 中的类">Array</A>, <A HREF="../../../net/conic/prototype/form/ElementClassNames.html" title="net.conic.prototype.form 中的类">ElementClassNames</A>, <A HREF="../../../net/conic/prototype/Hash.html" title="net.conic.prototype 中的类">Hash</A>, <A HREF="../../../net/conic/prototype/ObjectRange.html" title="net.conic.prototype 中的类">ObjectRange</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>Enumerable</B><DT>extends <A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">Object</A></DL>
</PRE>
<P>
prototype中的Enumerable类型,这是一个抽象对象。Prototype包中对Array、$H、Ajax、Element.ClassNames都大量使用到此内部对象 ,此对象主要是对可枚举的类型进行各类操作封装了相应的方法,有点像Callback+Template Pattern。 强大好用,在实际开发中也常常需要继承此类完成功能,少写许多代码。此乃偷鸡摸狗、杀人放火、居家必备之良器也;)!
<P>
<P>
<DL>
<DT><B>版本:</B></DT>
<DD>Prototype Document Version 0.1</DD>
<DT><B>作者:</B></DT>
<DD>Frank.Chen (Email:jtjdskq@126.com) <br>http://blog.csdn.net/jkjdskq</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>字段摘要</B></FONT></TH>
</TR>
</TABLE>
<A NAME="fields_inherited_from_class_net.conic.prototype.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>从类 net.conic.prototype.<A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">Object</A> 继承的字段</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../net/conic/prototype/Object.html#constructor">constructor</A>, <A HREF="../../../net/conic/prototype/Object.html#prototype">prototype</A></CODE></TD>
</TR>
</TABLE>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>构造函数摘要</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#Enumerable()">Enumerable</A></B>()</CODE>
<BR>
</TD>
</TR>
</TABLE>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>方法摘要</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#_each(net.conic.prototype.IteratorAdapter)">_each</A></B>(<A HREF="../../../net/conic/prototype/IteratorAdapter.html" title="net.conic.prototype 中的类">IteratorAdapter</A> each)</CODE>
<BR>
执行each()方法时内部遍历操作都将执行此方法 ,此方法在prototype的源码中并未在Enumerable对象上做定义 ,在这里用java语言特性定义成protected abstract就是为了重点说明需要继承使用Enumerable特性的JS子类必须实现此方法!</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#all(net.conic.prototype.Iterator)">all</A></B>(<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
使用iterator方法迭代,并将每个迭代返回的值做<b>与</b>操作后返回。</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#any(net.conic.prototype.Iterator)">any</A></B>(<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
使用iterator方法迭代,并判断每次iterator方法执行返回的结果,当有一个iterator操作执行返回为true就结束遍历,并返回true</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Array.html" title="net.conic.prototype 中的类">Array</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#collect(net.conic.prototype.Iterator)">collect</A></B>(<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
使用iterator方法迭代对象,并将每次执行结果的集合返回。</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#detect(net.conic.prototype.Iterator)">detect</A></B>(<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
与any方法不同之处在于将第一个iterator操作返回为ture的<b>元素的值</b>返回。</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#each(net.conic.prototype.Iterator)">each</A></B>(<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
将自动根据对象定义的_each()方法内实现的方式,用传入的Iterator function遍历执行对象内部的每一个元素。</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Array.html" title="net.conic.prototype 中的类">Array</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#entries()">entries</A></B>()</CODE>
<BR>
等同于toArray()方法</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#find(net.conic.prototype.Iterator)">find</A></B>(<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
等同于detect()方法</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Array.html" title="net.conic.prototype 中的类">Array</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#findAll(net.conic.prototype.Iterator)">findAll</A></B>(<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
执行iterator迭代,并将迭代结果返回为true的元素的值集合返回。</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Array.html" title="net.conic.prototype 中的类">Array</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#grep(net.conic.prototype.Pattern, net.conic.prototype.Iterator)">grep</A></B>(<A HREF="../../../net/conic/prototype/Pattern.html" title="net.conic.prototype 中的类">Pattern</A> pattern,
<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
执行iterator迭代,将对每个元素的做toString()操作后执行字符串匹配工作。</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#include(net.conic.prototype.Object)">include</A></B>(<A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">Object</A> object)</CODE>
<BR>
判断对象内部包含与object相同的元素</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#inject(net.conic.prototype.Object, net.conic.prototype.Iterator)">inject</A></B>(<A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">Object</A> memo,
<A HREF="../../../net/conic/prototype/Iterator.html" title="net.conic.prototype 中的类">Iterator</A> iterator)</CODE>
<BR>
对每个元素执行iterator操作,并在执行iterator操作时将memo以后注入的方式执行.说不太清楚,看源代码吧,这个方法也较为常用.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/String.html" title="net.conic.prototype 中的类">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#inspect()">inspect</A></B>()</CODE>
<BR>
检测对象内部状态,多用于调试使用</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Array.html" title="net.conic.prototype 中的类">Array</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../net/conic/prototype/Enumerable.html#invoke(net.conic.prototype.String, net.conic.prototype.Object...)">invoke</A></B>(<A HREF="../../../net/conic/prototype/String.html" title="net.conic.prototype 中的类">String</A> method,
<A HREF="../../../net/conic/prototype/Object.html" title="net.conic.prototype 中的类">Object</A>... arguments)</CODE>
<BR>
对象内部每一元素取得自身的method内容的function,并将自身的值与arguments传入执行.将执行结果的集合返回。</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../net/conic/prototype/Array.html" title="net.conic.prototype 中的类">Array</A></CODE></FONT></TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -