aboutsummaryrefslogtreecommitdiff
path: root/files/it/web/javascript/reference/global_objects/isnan/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/it/web/javascript/reference/global_objects/isnan/index.html')
-rw-r--r--files/it/web/javascript/reference/global_objects/isnan/index.html176
1 files changed, 0 insertions, 176 deletions
diff --git a/files/it/web/javascript/reference/global_objects/isnan/index.html b/files/it/web/javascript/reference/global_objects/isnan/index.html
deleted file mode 100644
index db6ebc85d8..0000000000
--- a/files/it/web/javascript/reference/global_objects/isnan/index.html
+++ /dev/null
@@ -1,176 +0,0 @@
----
-title: isNaN()
-slug: Web/JavaScript/Reference/Global_Objects/isNaN
-translation_of: Web/JavaScript/Reference/Global_Objects/isNaN
----
-<div>
-<div>
-<div>{{jsSidebar("Objects")}}</div>
-</div>
-</div>
-
-<h2 id="Summary" name="Summary">Sommario</h2>
-
-<p>La funzione <strong><code>isNaN()</code></strong> determina se un valore è {{jsxref("NaN")}} o no.</p>
-
-<div class="note">
-<p><strong>Nota:</strong> le conversioni di tipo nella funzione <code>isNaN</code> seguono delle regole {{jsxref("Global_Objects/isNaN", "particolari", "#Description", 1)}}: alternativamente per determinare se un valore non è un numero si può usare la funzione {{jsxref("Number.isNaN()")}}, definito in ECMAScript 6, o l'operatore {{jsxref("Operators/typeof", "typeof")}}.</p>
-</div>
-
-<h2 id="Syntax" name="Syntax">Sintassi</h2>
-
-<pre class="syntaxbox"><code>isNaN(<em>number</em>)</code></pre>
-
-<h3 id="Parameters" name="Parameters">Parametri</h3>
-
-<dl>
- <dt><code>number</code></dt>
- <dd>Il valore da controllare.</dd>
-</dl>
-
-<h2 id="Description" name="Description">Descrizione</h2>
-
-<h3 id="The_necessity_of_an_isNaN_function" name="The_necessity_of_an_isNaN_function">La necessità di una funzione <code>isNaN()</code></h3>
-
-<p>A differenza di tutti gli altri valori in JavaScript, non è possibile usare gli operatori di uguaglianza (<code>==</code> e <code>===</code>) per determinare se un valore è {{jsxref("NaN")}} oppure no, perché entrambe le uguaglianze <code>NaN == NaN</code> e <code>NaN === NaN</code> vengono considerate false. Ecco perché è necessaria una funzione <code>isNaN()</code>.</p>
-
-<h3 id="Origin_of_NaN_values" name="Origin_of_NaN_values">L'origine del valore <code>NaN</code></h3>
-
-<p>Il valore <code>NaN</code> è generato da un'operazione aritmetica il cui risultato è {{jsxref("undefined")}} o un valore <em>non rappresentabile</em>. Tali valori non rappresentano necessariamente un valore oltre i limiti. <code>NaN</code> può anche essere il risultato del trasformare valori non-numerici dai quali non è possibile ottenere un numero in numeri.</p>
-
-<p>Per esempio, dividere zero per zero restituisce <font face="Consolas, Monaco, Andale Mono, monospace">NaN</font>, ma dividere un qualsiasi altro numero per zero no.</p>
-
-<h3 id="Comportamenti_particolari">Comportamenti particolari</h3>
-
-<p>Già dalla prima versione della specifica della funzione <code>isNaN</code>, il suo comportamento con valori non-numerici può confondere. Quando il parametro della funzione <code>isNaN</code> non è di tipo {{jsxref("Number")}}, questo viene prima trasformato in un numero. Il test per determinare se il parametro è {{jsxref("NaN")}} viene effettuato sul valore convertito. Quindi per i valori non-numerici che possono essere trasformati in un numero diverso da <code>NaN</code> la funzione restituisce <code>false</code>. La stringa vuota, per esempio, suciramente non è un numero, ma la funzione restituisce <code>false</code>. La confusione nasce dal fatto che il termine "not a number" (rappresentato da <code>NaN</code>) ha un significato per i numeri rappresentati come valori a virgola mobile IEEE-754. La funzione dovrebbe quindi essere interpretata come "È questo valore, quando convertito in un numero, un valore "Not a Number" secondo lo standard IEEE-754?"</p>
-
-<p>La prossima versione di ECMAScript (ES6) definiesce la funzione {{jsxref("Number.isNaN()")}}. <code>Number.isNaN()</code>, che ritorna <code>false</code> per tutti i valori non-numerici, sarà un metodo affidabile per sapere se un numero è <code>NaN</code> o no. In assenza di <code>Number.isNaN</code>, l'espressione <code>(x !== x)</code> è il metodo più affidabile per determinare se un numero è <code>NaN</code> oppure no, perché evita i falsi positivi generati dalla funzione <code>isNaN()</code>.</p>
-
-<h2 id="Examples" name="Examples">Esempi</h2>
-
-<pre class="brush: js">var x = NaN;
-isNaN(x); // true
-Number.isNaN(x); // true
-x !== x; // true
-
-var x = undefined;
-isNaN(x); // true, perché undefined viene convertito in NaN
-Number.isNaN(x); // false
-x !== x; // false
-
-var x = {};
-isNaN(x); // true, perché {} viene convertito in NaN
-Number.isNaN(x); // false
-x !== x; // false
-
-isNaN(true); // false, perché true viene convertito in 1
-isNaN(null); // false, perché null viene convertito in 0
-isNaN(37); // false
-
-// Stringhe
-isNaN("37"); // false, perché "37" viene convertito in 37
-isNaN("37.37"); // false, perché "37.37" viene convertito in 37.37
-isNaN(""); // false, perché una stringa vuota viene convertita in 0
-isNaN(" "); // false, perché una stringa con soli spazi viene convertita in 0
-
-// !!! Ecco un esempio di falso positivo
-var x = "37ab";
-isNaN(x); // true, perché "37ab" viene convertito in NaN
-Number.isNaN(x); // false
-x !== x; // false
-
-// Date
-isNaN(new Date()); // false, perché una data che viene convertita in un
-  // numero ritorna un valore intero
-
-var x = new Date().toString();
-isNaN(x); // true, perché il metodo new Date().toString() restituisce una
-  // stringa alfanumerica, che viene convertita in NaN
-Number.isNaN(x); // false
-x !== x; // false</pre>
-
-<h2 id="Specifiche">Specifiche</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specifica</th>
- <th scope="col">Stato</th>
- <th scope="col">Commenti</th>
- </tr>
- <tr>
- <td>ECMAScript 1st Edition.</td>
- <td>Standard</td>
- <td>Definizione iniziale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.1.2.4', 'isNaN')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-isnan-number', 'isNaN')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilità_con_i_browser">Compatibilità con i browser</h2>
-
-<p>{{ CompatibilityTable() }}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Funzionalità</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Supporto di base</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th><span style="font-family: open sans light,sans-serif; font-size: 16px; line-height: 16px;">Funzionalità</span></th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td><span style="font-size: 12px; line-height: 18px;">Supporto di base</span></td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- <td>{{ CompatVersionUnknown() }}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also" name="See_also">Vedi anche</h2>
-
-<ul>
- <li>{{jsxref("NaN")}}</li>
- <li>{{jsxref("Number.isNaN()")}}</li>
-</ul>