Q:

Jquery and IIFE wrapper clarification? 

The window can not be redefined  like we see in this example: 
http://i.stack.imgur.com/IYX0p.jpg

So why jquery starts itself with window  ( and it even uses the same name)? 
(function( window, undefined ) {...})( window );
I mean , it could have use window inside it...
p.s.  the undefined trick has nothing to do with it...

A:

I guess a possible explanation is to make JQuery easier to port in other contexts, where the global object may not be named window, or even embedded in some other scripts, in the case window refers to a valid token in the current scope (or in the activation object). 
Anyway, the only reason why I think this may be useful is because the jQuery code can use the windowname without worry,  because any vendor can bind the name to whatever object it wants, only by changing a single line of the jQuery source (the last one).