Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

E4X

Do JavaScriptu 1.6 byl implementován standard E4X (CMA 357). E4X velmi usnadňuje práci s XML dokumenty – přístup k elementům, dotazy a další věci, které byly doposud řešitelné jen pomocí DOM (často velmi neohrabaně).

Podpora tohoto standardu velmi zjednodušuje a zefektivňuje vývoj komplexních webových aplikací, kde je manipulace se stromem dokumentu na denním pořádku. Ostatně, podívejte se sami na ukázku identického kódu, implementovaného nejdříve pomocí konvenčního DOM a poté s využitím E4X (příklad je převzat přímo ze specifikace E4X):

DOM:

function createTable () {
  var mybody = document.getElementsByTagName("body").item(0);
  mytable = document.createElement("TABLE");
  mytablebody = document.createElement("TBODY");
  for (var j = 0; j < 2; j++) {
    mycurrent_row = document.createElement("TR");
    for (var i = 0; i < 2; i++) {
      mycurrent_cell = document.createElement("TD");
      currenttext = document.createTextNode("cell is row " + j + ", column " + i);
      mycurrent_cell.appendChild(currenttext);
      mycurrent_row.appendChild(mycurrent_cell);
    }
    mytablebody.appendChild(mycurrent_row);
  }
  mytable.appendChild(mytablebody);
  mybody.appendChild(mytable);
  mytable.setAttribute("border", "2");
}

E4X:

function createTable() {
  var doc = XML(document);      // vytvoříme E4X objekt pro dokument
  var mytablebody = doc..body.TABLE.TBODY;
  for (var j = 0; j < 2; j++) {
    mytablebody.TR[j] = "";     // přidáme prázdný řádek tabulky
    for (var i = 0; i < 2; i++) // přidáme buňky s obsahem
      mytablebody.TR[j].TD[i] = "cell is row " + j + ", column " + i;
  }
  doc..body.TABLE.@border = 2;  // nastavíme tabulce hodnotu atributu border
}

Použití E4X ve skriptech

Pokud chcete ve svém skriptu používat E4X, je vhodné takový skript označit speciálním MIME typem:

<script type="text/javascript; e4x=1">

Použijete-li standardní MIME typ text/javascript (tj. bez přípony e4x=1), E4X bude fungovat také, ale může dojít k syntaktickým chybám, pokud své skripty vkládáte mezi HTML komentáře (<-- ... -->) nebo do XML CDATA sekce (<[CDATA[...]]>).

Další informace o E4X

O E4X se dozvíte více v článku v Akta X 0407 na Root.cz.

Standard E4X je součástí normy ECMA 357. Do JavaScriptu byl zahrnut ve verzi 1.6.

Informace o původním dokumentu

  • Autor: David Majda

Štítky a přispěvatelé do dokumentace

 Přispěvatelé této stránky: Pawell, Majda
 Poslední aktualizace od: Pawell,