<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog do PacMan &#187; Javascript</title>
	<atom:link href="http://pacman.blog.br/blog/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://pacman.blog.br/blog</link>
	<description>Varias Coisas, por Tiago Peczenyj</description>
	<lastBuildDate>Thu, 26 Jan 2012 13:51:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Closures em Javascript: o metodo each</title>
		<link>http://pacman.blog.br/blog/uncategorized/closures-em-javascript-o-metodo-each/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=closures-em-javascript-o-metodo-each</link>
		<comments>http://pacman.blog.br/blog/uncategorized/closures-em-javascript-o-metodo-each/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 16:05:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Closures]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://pacman.blog.br/blog/uncategorized/closures-em-javascript-o-metodo-each/</guid>
		<description><![CDATA[Estou escutando uma discussão acalorada sobre Closures, Ruby e Javascript. Detalhes a parte, Javascript suporta funções anônimas (que não são closures) que podem ser passados como argumentos para outras funções. Não seria otimo que um Array em javascript tivesse o &#8230; <a href="http://pacman.blog.br/blog/uncategorized/closures-em-javascript-o-metodo-each/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Estou escutando uma discussão acalorada sobre Closures, Ruby e Javascript. Detalhes a parte, Javascript suporta funções anônimas (que não são closures) que podem ser passados como argumentos para outras funções.</p>
<p>Não seria otimo que um Array em javascript tivesse o método each para executar um bloco de código para cada elemento desse array? Usando o prototype da entidade Array eu posso adicionar um método each que faz isso:</p>
<pre>Array.prototype.each = function(fun) {
	if (typeof fun != "function") return;
	for (var i=0; i&lt;this.length; i++) {
		if(i in this) fun(this[i]);
	}
	return this;
}

var x = ["cat", "dog", "mouse", "bird"];
x.each(function(i) {
	alert(i);
});</pre>
<p>Simples, não? Eu ainda posso adicionar outros métodos uteis como o <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map">map</a> e o <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce">reduce</a>.</p>
<p>São recursos interessantes que podemos utilizar quando for conveniente. Interessante foi descobrir a propriedade <a href=", olhando estas funções, do array arguments">arguments</a>, um array com todos os argumentos passados para a função que, se eu conhecesse alguns meses atrás, teria me solucionado alguns problemas <img src='http://pacman.blog.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>É claro que tudo isso ja vem no <a href="http://www.prototypejs.org/">Prototype</a> (né <a href="http://www.peleteiro.net/">peleteiro</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://pacman.blog.br/blog/uncategorized/closures-em-javascript-o-metodo-each/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

