<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>RemVee.blog</title>
    <link>http://blog.remvee.net/</link>
    <description>RemVee.blog do { |item| item.mangle }</description>
    <item>
      <title>Remco @ AOP met JavaScript</title>
      <link>http://blog.remvee.net/view/post/53#comment1094</link>
      <guid>http://blog.remvee.net/view/post/53#comment1094</guid>
      <description>&lt;p&gt;Natuurlijk!  De open natuur van JavaScript maakt dit heel goed mogelijk, alleen is de hierboven beschreven instrumentor niet zo goed bruikbaar.  Maar je kan het natuurlijk gewoon &amp;#8220;met de hand&amp;#8221; doen.&lt;/p&gt;
&lt;p&gt;Een voorbeeldje.  We hebben een simpele functie &lt;code&gt;sum&lt;/code&gt; welke we willen inpakken:&lt;/p&gt;
&lt;pre&gt;function sum() {
  var n = 0
  for (var i = 0; i &amp;lt; arguments.length; i++) n += arguments[i]
  return n
}&lt;/pre&gt;
&lt;p&gt;Functies die zo &amp;#8220;bloot&amp;#8221; gedefinieerd worden, worden aan het &lt;code&gt;window&lt;/code&gt; object toegevoegd.  Om deze &lt;code&gt;sum&lt;/code&gt; functie in te pakken, hoef je alleen maar het volgende te doen:&lt;/p&gt;
&lt;pre&gt;window.orig_sum = window.sum
window.sum = function() {
  alert('before sum')
  var result = window.orig_sum(arguments)
  alert('after sum')
  return result
}&lt;/pre&gt;
&lt;p&gt;Dus de originele functie wordt bewaard onder een andere naam, &lt;code&gt;orig_sum&lt;/code&gt;, en de nieuwe &lt;code&gt;sum&lt;/code&gt; functie roept deze weer aan.&lt;/p&gt;
&lt;p&gt;Voor meer informatie over functies in JavaScript zie hoofdstuk 7 van het &lt;a href="http://www.oreilly.com/catalog/jscript4/"&gt;neushoorn boek&lt;/a&gt;.&lt;/p&gt;</description>
      <author>Remco</author>
      <pubDate>Mon, 20 Aug 2007 03:21:49 +0200</pubDate>
    </item>
    <item>
      <title>Anoniempje @ AOP met JavaScript</title>
      <link>http://blog.remvee.net/view/post/53#comment1093</link>
      <guid>http://blog.remvee.net/view/post/53#comment1093</guid>
      <description>&lt;p&gt;Ik zit met een programma waarbij verreweg de meeste functies buiten een klasse zijn gedefinieerd.&lt;br/&gt;
Zie je een mogelijkheid om deze werkwijze op deze functies toe te passen?&lt;/p&gt;</description>
      <author>Anoniempje</author>
      <pubDate>Mon, 20 Aug 2007 00:44:34 +0200</pubDate>
    </item>
    <item>
      <title>Remco @ AOP met JavaScript</title>
      <link>http://blog.remvee.net/view/post/53#comment970</link>
      <guid>http://blog.remvee.net/view/post/53#comment970</guid>
      <description>&lt;p&gt;Je kan natuurlijk ook gewoon &lt;code&gt;eval&lt;/code&gt; gebruiken.  Maar waarom zou je geen &lt;code&gt;Function&lt;/code&gt; object willen maken?&lt;/p&gt;</description>
      <author>Remco</author>
      <pubDate>Thu, 19 Apr 2007 14:55:40 +0200</pubDate>
    </item>
    <item>
      <title>Edwin Martin @ AOP met JavaScript</title>
      <link>http://blog.remvee.net/view/post/53#comment966</link>
      <guid>http://blog.remvee.net/view/post/53#comment966</guid>
      <description>&lt;p&gt;Inderdaad heel leuk. Enterprise JavaScript!&lt;/p&gt;
&lt;p&gt;Als je Firebug Lite gebruikt, heb je ook een mooie logging console.&lt;/p&gt;
&lt;a href="http://www.getfirebug.com/lite.html"&gt;http://www.getfirebug.com/lite.html&lt;/a&gt;
&lt;p&gt;Zou het ook kunnen zonder een nieuw Function-object aan te maken?&lt;/p&gt;</description>
      <author>Edwin Martin</author>
      <pubDate>Thu, 19 Apr 2007 01:12:13 +0200</pubDate>
    </item>
    <item>
      <title>p3t0r @ AOP met JavaScript</title>
      <link>http://blog.remvee.net/view/post/53#comment962</link>
      <guid>http://blog.remvee.net/view/post/53#comment962</guid>
      <description>&lt;p&gt;Hee&amp;#8230; dat is leuk! Ik heb het meteen naar de javascripters hier gemaild&amp;#8230; ik ben benieuwd naar hun reactie!&lt;/p&gt;</description>
      <author>p3t0r</author>
      <pubDate>Wed, 18 Apr 2007 23:25:26 +0200</pubDate>
    </item>
  </channel>
</rss>

