mozilla

Confronta le versioni

Novità in JavaScript 1.6

Change Revisions

Versione 262078:

Versione 262078 di Federico del

Versione 230159:

Versione 230159 di Federico del

Titolo:
Novità in JavaScript 1.6
Novità in JavaScript 1.6
Slug:
Novità_in_JavaScript_1.6
Novità_in_JavaScript_1.6
Etichette:
JavaScript, E4X, Tutte_le_categorie
Contenuto:

Versione 262078
Versione 230159
t7    <p>t
8      JavaScript 1.6 introduce diverse nuove funzionalità: E4X, v
>ari metodi per gli <code>Array</code> e i metodi generici per gli 
> array e le stringhe. 
9    </p>
10    <p>
11      JavaScript 1.6 è supportato in <a href="it/Firefox_1.5">Fir
>efox 1.5</a> e successivi. 
12    </p>
13    <h3 id="E4X" name="E4X">
14      E4X
15    </h3>
16    <p>
17      ECMAScript for XML (<a href="it/E4X">E4X</a>) è una potente
> tecnologia che permette di creare ed elaborare contenuto <a href 
>="it/XML">XML</a> tramite <a href="it/JavaScript">JavaScript</a>. 
> Continueremo a migliorare il supporto a E4X, aggiungendo anche u 
>n'integrazione trasparente al <a href="it/DOM">DOM</a> già esiste 
>nte, ma gli sviluppatori che stanno creando applicazioni web basa 
>te su XML possono beneficiare del supporto a E4X in Firefox 1.5. 
18    </p>
19    <p>
20      E' ancora possibile utilizzare il tipo MIME standard per E4
>X: 
21    </p>
22    <pre>
23&lt;script type="text/javascript"&gt;
24</pre>
25    <p>
26      Tuttavia, la sintassi di E4X può entrare in conflitto con l
>a pratica molto comune di inserire gli script nei commenti <a hre 
>f="it/HTML">HTML</a> (<code><span class="nowiki">&lt;!--...--&gt; 
></span></code>) per nasconderli ai vecchi browser. E4X può anche  
>entrare in conflitto con le sezioni CDATA (<code>&lt;![CDATA{{ me 
>diawiki.external('...') }}]&gt;</code>), che permettono l'uso di  
>simboli "&lt;" e "&gt;" in uno script (si noti che questo non si  
>applica all'HTML). Se si incontrano errori apparentemente inspieg 
>abili, si provi ad aggiungere "; e4x=1" al tipo MIME: 
27    </p>
28    <pre>
29&lt;script type="text/javascript; e4x=1"&gt;
30</pre>
31    <p>
32      Si noti che gli script nelle estensioni trattano sempre i c
>ommenti HTML nella maniera corretta. In pratica, "e4x=1" è implic 
>ito. 
33    </p>
34    <h3 id="Aggiunte_agli_array" name="Aggiunte_agli_array">
35      Aggiunte agli array
36    </h3>
37    <p>
38      Vi sono sette nuovi metodi per gli array che possono essere
> divisi in due categorie, metodi di locazione di un elemento e me 
>todi iterativi. I metodi di locazione sono: 
39    </p>
40    <ul>
41      <li>
42        <code>indexOf()</code> - restituisce l'indice della prima
> occorrenza dell'elemento dato. 
43      </li>
44      <li>
45        <code>lastIndexOf|lastIndexOf()</code> - restituisce l'in
>dice dell'ultima occorrenza dell'elemento dato. 
46      </li>
47    </ul>
48    <p>
49      I metodi iterativi sono:
50    </p>
51    <ul>
52      <li>
53        <code>every()</code> - esegue una funzione per ogni eleme
>nto presente nell'array e restituisce <code>true</code> se la fun 
>zione restituisce <code>true</code> per tutti gli elementi. 
54      </li>
55      <li>
56        <code>filter()</code> - esegue una funzione per ogni elem
>ento presente nell'array e restituisce un array di tutti gli elem 
>enti per i quali la funzione ha restituito <code>true</code>. 
57      </li>
58      <li>
59        <code>forEach()</code> - esegue una funzione per ogni ele
>mento presente nell'array. 
60      </li>
61      <li>
62        <code>map()</code> - esegue una funzione per ogni element
>o presente nell'array e restituisce i risultati in un altro array 
>. 
63      </li>
64      <li>
65        <code>some()</code> - esegue una funzione per ogni elemen
>to presente nell'array e restituisce <code>true</code> se la funz 
>ione restituisce <code>true</code> per almeno uno degli elementi. 
66      </li>
67    </ul>
68    <p>
69      Per ulteriori informazioni, si veda l'articolo (in inglese)
> di Nicholas C. Zakas: <span class="exlink"><a href="it/Mozilla's 
>_New_Array_Methods_(external)">Mozilla's New Array Methods</a></s 
>pan>. 
70    </p>
71    <h3 id="Metodi_generici_per_array_e_stringhe" name="Metodi_ge
>nerici_per_array_e_stringhe"> 
72      Metodi generici per array e stringhe
73    </h3>
74    <p>
75      A volte si vorrebbe utilizzare i metodi per gli array con l
>e stringhe. Facendo questo, si tratta una stringa come se fosse u 
>n array di caratteri. Per esempio, per controllare che ogni carat 
>tere nella variabile <var>str</var> sia una lettera, si potrebbe  
>scrivere: 
76    </p>
77    <pre>
78function isLetter(character) {
79  return (character &gt;= "a" &amp;&amp; character &lt;= "z");
80}
81 
82if (Array.prototype.every.call(str, isLetter))
83  alert("La stringa '" + str + "' contiene solo lettere!");
84</pre>
85    <p>
86      Questa notazione è piuttosto lunga e JavaScript 1.6 introdu
>ce una scorciatoia: 
87    </p>
88    <pre>
89if (Array.every(str, isLetter))
90  alert("La stringa '" + str + "' contiene solo lettere!");
91</pre>
92    <p>
93      Similmente, si può facilmente applicare un metodo stringa a
> qualsiasi oggetto: 
94    </p>
95    <pre>
96var num = 15;
97alert(String.replace(num, /5/, '2'));
98</pre>
99    <h3 id="Vedi_anche" name="Vedi_anche">
100      Vedi anche
101    </h3>
102    <p>
103      <a href="it/Novit%c3%a0_in_JavaScript_1.7">Novità in JavaSc
>ript 1.7</a> introdotte in <a href="it/Firefox_2">Firefox 2</a>. 
104    </p>{{ languages( { "en": "en/New_in_JavaScript_1.6", "fr": "
>fr/Nouveaut\u00e9s_dans_JavaScript_1.6", "ja": "ja/New_in_JavaScr 
>ipt_1.6", "pl": "pl/Nowo\u015bci_w_JavaScript_1.6", "ru": "ru/\u0 
>41d\u043e\u0432\u043e\u0435_\u0432_JavaScript_1.6" } ) }} 

Torna allo storico