Que tal
_cronos2, deberias tener en cuenta que es lo que estas haciendo en tu segundo ejemplo, ejecutas una funcion anonima y lo asignas a una propiedad de Array, el scope dentro de esa funcion tal cual lo estas planteando es window, lo podes probar:
Código Javascript
:
Ver originalwindow[0] = 'Prototype'
Array.prototype.primero=(function(){ return this[0]; })()
alert([1,2,3].primero); // Prototype
La forma correcta es como en tu primer ejemplo, si nos dijeras que es lo que tenes en mente talvés te podemos dar una idea de como conseguirlo.