Ashura: new Function()

Beitrag lesen

Hallo Mssmar.

Ich frage mich aber wozu bzw. warum sollte man den ersten Weg gehen bzw. verwenden, wenn mann es einfacher und übersichtlicher machen kann.

Ein abgewandeltes Beispiel aus meinem selfjs:

var buttons = ['Apache', 'CSS', 'HTML', 'JavaScript', 'PHP', 'XML'];  
  
for (var i = 0; i < buttons.length; ++i) {  
  
  var button = document.createElement('input');  
      button.type = 'button';  
      button.value = buttons[i];  
  
      button.onclick = new Function(  
        'insertCodeBlock("' + buttons[i].toLowerCase() + '",' +  
        'document.getElementsByTagName("textarea")[0]);'  
      );  
  
  /* Button ins Dokument einhängen */  
}

Der Wert des ersten Parameters wird also dynamisch generiert und steht später nicht mehr zur Verfügung, weshalb eine anonyme Funktion darauf nicht mehr zugreifen könnte.

Einen schönen Freitag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]