Don P: getElementsByClassName – wozu?

Beitrag lesen

Hallo,

var i=42;

var j=55;
for(var i=0,j;i<5;i++) j=i;
alert(i+"   "+j);


>   
> liefert "5   4".  
>   
> Gut zu wissen.  
  
Ja, und nicht nur das, sondern sogar  
  
~~~javascript
( function () {  
    i=42, j=55;                      // i,j global?  
    for(var i=0; i<5; j=++i){}       // i lokal?  
  }  
)(); alert([ String(window.i), j ]); // u confused?

gibt "undefined,5" aus, genau wie

( function () {  
    i=42, j=55;                      // i,j global?  
    for( i=0; i<5; j=++i) {}  
    var i;                           // i lokal!  
  }  
)(); alert([ String(window.i), j ]); // u confused?

i ist zuerst nur scheinbar global, wird nämlich dann doch noch mit var deklariert und deshalb auch nur lokal in der Funktion angelegt, im Unterschied zu j, was wirklich eine globale Variable wird.

Aber
( function(){vari=5; var i; alert(i)} )();

gint auch "undefined" aus

Gruß, Don P