JavaScript: este numărul
A decide dacă ceva este un număr în JavaScript ar trebui să fie o verificare simplă de tip (adică, folosind funcția isNaN() ), dar, după cum se dovedește, este puțin mai complicat.
Cum să determinați dacă ceva este sau nu un număr în JavaScript
Acest lucru se datorează comportamentului JavaScript de conversie forțată în număr. Metodele folosite des, isNaN() și isFinite() pot avea un comportament confuz și pot returna răspunsuri incorecte.
Din fericire, ECMAScript 6 (specificația limbajului JS) a fost lansat cu intenția de a remedia aceste probleme cu Number.isNaN() și Number.isFinite() , împreună cu multe alte clarificări și îmbunătățiri ale limbii.
Utilizați funcția isNumeric().
Până când acea versiune în limba JS este standard și utilizată în browsere, va trebui să fim atenți când verificăm dacă o valoare este un număr.
Proiectul jQuery are o mică implementare a funcției isNumeric() care remediază acest comportament ciudat JS. Există și alte implementări, dar multe dintre acestea eșuează în unele dintre cazurile de colț JS type-casting-gotcha.
Funcția isNumeric() de mai jos este utilizabilă în propriul cod, chiar și fără jQuery.
var isNumeric = function(obj){ return !Array.isArray( obj ) && (obj – parseFloat( obj ) + 1) >= 0; }
isNumeric() Exemple
Mai jos sunt câteva exemple de utilizare a isNumeric() cu rezultatul său boolean:
esteNumeric(10); // true isNumeric(“0.75”); // true isNumeric(“123e–2”); // adevărat esteNumeric(–0xFFF); // adevărat esteNumeric(Infinit); // false , folosiți isFinite() isNumeric(NaN); // false , folosiți isNaN() isNumeric([1]); // false esteNumeric(true); // false isNumeric(“foo”); // false esteNumeric(null); // false isNumeric(new Date()); // Dezvăluire falsă a agentului de publicitate
Gazduirweb este o resursă online gratuită care oferă utilizatorilor conținut valoros și servicii de comparare. Pentru a menține această resursă 100% gratuită, primim compensații de la multe dintre ofertele afișate pe site. Alături de factorii cheie de revizuire, această compensație poate afecta modul în care și locul în care apar produsele pe site (inclusiv, de exemplu, ordinea în care apar). Gazduirweb nu include întregul univers al ofertelor disponibile. Opiniile editoriale exprimate pe site sunt strict ale noastre și nu sunt furnizate, susținute sau aprobate de agenții de publicitate.
Politica noastră de revizuire editorială
Site-ul nostru se angajează să publice conținut independent, precis, ghidat de reguli editoriale stricte. Înainte ca articolele și recenziile să fie publicate pe site-ul nostru, acestea sunt supuse unui proces amănunțit de revizuire efectuat de o echipă de editori independenți și experți în materie pentru a asigura acuratețea, actualitatea și imparțialitatea conținutului. Echipa noastră editorială este separată și independentă de agenții de publicitate ai site-ului nostru, iar opiniile pe care le exprimă pe site-ul nostru sunt proprii. Pentru a citi mai multe despre membrii echipei noastre și despre mediul lor editorial, vă rugăm să vizitați pagina Despre a site-ului nostru.
Leave a Reply