Contacte

Conversie de șir Js. Conversia tipurilor de date în JavaScript. Conversia valorilor în valori booleene

Ziua bună tuturor. Alexey Gulynin este în legătură. În ultimul articol, ați aflat despre tipurile de date în Javascript. În acest articol aș vrea să vorbesc despre conversie de tip în Javascript. Conversiile de tip în Javascript, și într-adevăr în orice limbaj de programare, sunt efectuate foarte des. Mai întâi am vrut să vorbesc despre conversia tipului atunci când compar variabilele sau alte condiții care au ca rezultat adevărat sau fals. Când se compară variabile de diferite tipuri, se efectuează conversii de fundal. Principalul punct aici este că în timpul unor astfel de transformări de fundal, valoarea stocată în variabilă nu se modifică. variabila este convertită la tipul de date (se creează o valoare temporară a variabilei) care este necesar pentru efectuarea operației. iti dau un exemplu:

Sunt comparate variabilele de tip șir și de tip numeric. La comparare, valorile acestor variabile sunt reduse la același tip de date. Comparația returnează apoi o valoare booleană și valorile temporare convertite sunt eliminate. Toate transformările depind de context - operatorii care efectuează acțiuni asupra lor. cod simplu:

Var a = 5; var b = "15"; în cazul în care o< b) alert("a < b"); else alert("a >b");

În acest caz, variabila b va fi convertită într-un număr (s-a efectuat conversia de fundal a tipului String în tipul Number și se va obține valoarea temporară a variabilei b de tip Number = 15, care va fi ștearsă după se efectuează operația de comparare), iar rezultatul va fi că un .

Mai jos este un tabel care arată modul în care un tip de date este convertit în altul:

Tipul valorii Contextul în care este utilizată valoarea
Şir Numeric Logic Obiect
Valoare nedefinită 'nedefinit' NaN fals Eroare
nul 'nul' 0 fals Eroare
Linie goală Linie goală 0 fals Obiect șir
Șir nevid Șir nevid Valoarea șirului numeric sau NaN Adevărat Obiect șir
0 ’0′ 0 fals Număr obiect
NaN 'NaN' NaN fals Număr obiect
Infinit 'Infinit' Infinit Adevărat Număr obiect
-Infinit '-Infinit' -Infinit Adevărat Număr obiect
Orice alt număr Reprezentarea în șir a unui număr Numărul în sine Adevărat Număr obiect
Adevărat 'Adevărat' 1 Adevărat obiect boolean
fals 'fals' 0 fals obiect boolean
Obiect, funcție toString() valueOf(), toString() sau NaN Adevărat Obiect, funcție

Conversii tip de date

Puteți obține un tip de date boolean de la orice tip de date. Acest lucru se face folosind operatorul de negație sau negația dublă. Exemplu:

Var a = 20; var b = !a; //return false var c = !!a; //revine adevărat

Un șir poate fi obținut din orice obiect. Exemplu:

Var a = 20; var b = a.toString(); //return "20" var c = a + ""; //întoarce „20” tip de b; //return string type of c; //întoarce șirul

Obținerea unui număr dintr-un șir. Exemplu:

Var a = "20"; var b = a * 1; //întoarce 20 var c = + a; //return 20 typeof b; //numărul returnat typeof c; //numărul returnat

Să analizăm acum, pe baza cunoștințelor acumulate, comportamentul „ȘI” logic (&&) și „SAU” logic (||):

„ȘI” logic (&&):

Pentru ca acest operator să se execute corect, este necesar ca valorile tuturor operanzilor să poată fi convertite în adevărate. Dacă valorile tuturor operanzilor pot fi convertite în adevărat, atunci valoarea inițială a ultimului operand comparat va fi returnată. Dacă valoarea a cel puțin unui operand este convertită în fals, valoarea inițială a acelui operand este returnată. Exemplu:

Var a = 15; var b = "abc"; var c = 0; var rezultat; rezultat = a && b && c; //întoarce 0 rezultat = c && b && a; //întoarce 0 rezultat = 7 && a; //întoarce 15 rezultat = 7 && b; //întoarce „abc”

„SAU” logic (||):

Permiteți-mi să explic puțin despre operatori și operanzi. Să analizăm expresia rezultat = a && b && c . Aici operatorii sunt "=" și "&&", adică. acestea sunt acțiuni. Operanzi: rezultat, a, b, c. Aceasta este ceea ce se acționează.

Nu are nicio diferență ce tip de variabilă este folosit în expresie. Dacă expresia este matematică, toate variabilele sale vor fi interpretate automat ca numerice. Dacă șirurile sunt procesate, atunci toți „participanții” expresiei sunt tratați ca șiruri. Cu toate acestea, provocarea conversiei șir în număr în JavaScript există într-un context mult mai larg.

Metode JavaScript pentru conversia șirurilor de caractere în numere

Arsenalul de metode de conversie a șirurilor de caractere în numere nu este mare, dar este suficient în toate cazurile simple. Aici JavaScript (mai ales pentru începători) este calea de la simplu la complex folosind exemple practice.

Exemplul descrie patru șiruri diferite. În primul bloc de ieșire, funcția typeof definește tipul fiecărei variabile ca șir. Fiecare șir este apoi foarte simplu convertit într-un număr. În al doilea bloc de ieșire, modificările variabilelor după conversie sunt vizibile; tipul lor a devenit un număr. Exemplul de conversie JavaScript parseFloat este deosebit de ilustrativ: a fost „12e+3” și a devenit „12000”.

Modificările la conversia unui șir într-un număr pot fi semnificative! Dar doar primele caractere contează: trebuie să fie numerice. Dacă nu există caractere cu cifre, rezultatul va fi NaN.

Conversia inversă a unui șir care „devine” număr nu este întotdeauna același șir. Acest punct poate fi folosit pentru a verifica corectitudinea introducerii informațiilor numerice.

Metode comune de conversie

Există numere întregi și, respectiv, numere fracționale, JavaScript convertește un șir într-un număr prin:

  • parseInt;
  • parseFloat.

Cazul general este implementat prin utilizarea șirului într-o expresie matematică simplă.

Este suficient să puneți un semn „+” în fața șirului de caractere și, dacă acesta conține un număr, atunci rezultatul expresiei va fi un număr. Valoarea unei variabile se poate schimba, dar tipul se va schimba întotdeauna: typeof va afișa numărul, nu șirul. Este important să înțelegeți că utilizarea unei variabile convertite într-o expresie șir poate produce un rezultat complet diferit.

JavaScript pentru începători în acest context este extrem de simplu. Este mai dificil de înțeles funcționarea conversiei întregi folosind metoda passseInt, deoarece funcționează automat în sistemul numeric zecimal, dar poate interpreta șirul ca octal sau hexazecimal. Cu toate acestea, această circumstanță nu depinde întotdeauna de al doilea parametru, care indică sistemul de numere.

JavaScript va transforma întotdeauna un șir într-un număr, dar dacă șirul nu are un singur caracter digital la începutul liniei, atunci rezultatul va fi NaN.

Este necesar să înțelegeți sistemele de numere, cum să scrieți numerele hexazecimale (numărul începe cu „0x”) și octale (numărul începe cu „0”).

Pentru a înțelege nuanțele metodei JavaScript parseFloat, este suficient să aveți o idee despre ce este o notație matematică pentru un număr real.

Transformare în scop de sortare

JavaScript este un limbaj de browser, motiv pentru care este mai critic decât alte limbi pentru caracterele din afara setului de bază al alfabetului latin și al numerelor. Sortarea este o operațiune populară. Dar nu are întotdeauna sens să trimiți date către server în scopuri de sortare; este mai ușor și mai practic să faci munca local, în browser.

Pentru a rezolva această problemă, puteți converti caracterele unui șir în codurile lor numerice sau puteți atribui o secvență ordonată de numere literelor și numerelor. Metoda charCodeAt() aplicată unui șir va atribui variabilei iB valoarea numerică 98, adică codul literei „b”. Având în vedere că valoarea codului literei „a” este 97, puteți obține numerele tuturor literelor alfabetului latin în ordine crescătoare în seturi de litere mici și mari. La fel și pentru literele alfabetului rus.

Propria noastră versiune de sortare prin numere vă permite să creați seturile necesare de caractere. Puteți, de exemplu, să „rearanjați” alfabetul chirilic și latin sau să le amestecați pentru a lăsa doar litere care sunt distincte în ortografie sau să adăugați caractere de tabulatură și spațiu la seturi.

Formarea unui număr unic de șir

Dacă codul literei „a” este 97, atunci diferența dintre literă și numărul 97 va da numărul unic al literei în alfabet. Prin însumarea numerelor unice pentru fiecare caracter al unui șir, este dificil să obțineți numărul unic al acelui șir.

Dacă atribuiți o greutate fiecărei poziții de literă dintr-un șir, de exemplu, poziție:

  • 0 greutate 1;
  • 1 greutate 10;
  • 2 greutate 100;

apoi prin înmulțirea numărului unic al fiecărui caracter din șir cu greutatea poziției în care se găsește și însumând toate numerele, puteți obține un număr unic și îl puteți utiliza ca o corespondență unu-la-unu cu originalul şir.

Această conversie a unui șir într-un număr este reversibilă, adică puteți obține întotdeauna șirul original din număr. O astfel de conversie este benefică deoarece orice operațiune se poate face în siguranță cu un număr în contextul codificării, chirilice și alte caracteristici locale ale paginii site-ului, domeniul de aplicare și țara vizitatorului.

Selectoare de pagini ale site-ului „în creștere”.

Adesea apare sarcina de a crea selectoare pe paginile site-ului, ale căror valori nu pot fi specificate în prealabil, dar în timp sunt completate. În prima aplicație, un selector gol este disponibil pentru primul vizitator care introduce informații.

Fiecare nouă intrare a unui șir de informații în selector (de către orice vizitator) este transformată într-un număr, care, împreună cu originalul, este trimis către server pentru stocare. Când începe o nouă sesiune sau sosește un nou vizitator, selectorul nu mai este gol. Când pagina este încărcată, vine în browser cu un selector negol.

Pentru fiecare valoare nouă de selector, o singură dată este trimisă la server pentru stocare și o singură dată i se atribuie un cod numeric unic.

Pentru a rezolva această problemă, metoda JavaScript șir la număr nu poate fi utilizată. Metodele obișnuite parseInt și parseFloat sunt concepute pentru alte utilizări, dar puteți veni cu un algoritm pentru a converti fără ambiguitate un șir într-un număr, și nu neapărat unul inversabil. Este suficient ca algoritmul de conversie să nu fie repetat pe diferite seturi de caractere dintr-un șir.

Optimizarea si analiza traficului

Când creează o pagină, dezvoltatorul folosește cantități semnificative de informații. Permiterea vizitatorului să introducă informații este o modalitate bună de a scădea clasamentul site-ului din cauza funcționalității sale slabe și de a frustra vizitatorul.

Prin atribuirea unui handler de evenimente sub forma unei funcții JavaScript acțiunilor vizitatorului pentru anumite blocuri de informații, este posibil să se formuleze un filtru care să permită vizitatorului să stabilească cu precizie un obiectiv, să găsească informațiile necesare și să obțină soluția dorită. .

Transformarea informațiilor despre șir aici poate fi arbitrar mare în partea șirului și foarte mică în partea numerică. Cu alte cuvinte, dezvoltatorul convertește un șir JavaScript într-un număr folosind propriul algoritm. Vizitatorul manipulează informații ușor de înțeles, iar cantitatea minimă de date - un număr - este trimisă la server.

Dinamica unui set de numere pentru toți vizitatorii în contextul informațiilor precis cunoscute permite unei alte funcții JavaScript (nu un handler), apelată la răspunsul serverului prin mecanismul AJAX, să ofere rapid tuturor vizitatorilor informațiile necesare simultan și în timp real. . Așa funcționează sistemul.

Această opțiune pentru conversia unui șir JavaScript într-un număr este foarte populară în dezvoltarea de jocuri online, conferințe interactive, mesagerie instantanee și așa mai departe.

Aplicarea instrumentală a transformărilor

JavaScript și CSS în contextul procesării informațiilor numerice vă permit să controlați afișarea unei pagini fără implicarea serverului. Regulile CSS sunt construite ca subșiruri, recursiv. De obicei, parametrul este un număr urmat de mai multe litere (de exemplu, „px”, „pt”, „em”, ...). Parametrul este un subșir în regulă, iar regula este un subșir în stilul clasei sau al identificatorului.

JavaScript recursion.Substring.Substring... găsește numărul dorit, îl convertește dintr-un șir într-un număr, îl modifică și îl scrie înapoi în locația dorită. Regula se schimbă automat. Este simplu și convenabil, fără implicarea serverului.

JavaScript are 2 funcții încorporate pentru conversia șirurilor de caractere în numere: parseFloat() și parseInt() .

parseFloat() ia ca argument un șir care urmează să fie convertit într-un tip numeric și returnează un număr flotant. Numărul trebuie să apară la începutul liniei. Dacă există și alte caractere în rândul după număr, acestea sunt tăiate. Partea fracțională a unui număr trebuie scrisă separată de un punct (virgula nu este percepută ca un separator). Dacă parseFloat() nu poate converti șirul, acesta returnează NaN.

Funcția poate procesa, de asemenea, „numărul n înmulțit cu 10 la puterea x”, care în programare este de obicei scris cu litera E, de exemplu: 0,5E6 sau 0,5E+6. Gradul poate fi și negativ: 0,5E-6, care este egal cu 0,5*10^-6 sau 0,5/1000000.

ParseFloat(""3,78kg"") // 3,78 parseFloat(""kg33"") // NaN parseFloat(""0004.111"") // 4.111 parseFloat(""0x66"") // 0 parseFloat("". 5"") // 0,5 parseFloat(""-.5"") // -0,5 parseFloat(""0.5e6"") // 500000 parseFloat(""0.03E+2") // 3 parseFloat(" "3E-4"") // 0,0003 parseFloat (""-3E-4") // -0,0003

Funcția parseInt(string[, radix]) ia un șir ca prim argument, îl parsează și returnează un număr întreg (de tip întreg). Funcția încearcă să analizeze sistemul numeric în care este scris numărul din șirul sursă (de exemplu, zecimal, octal sau hexazecimal - dar nu numai acestea). De asemenea, puteți specifica sistemul de numere în mod explicit, trecându-l ca a doua bază a parametrului. Parametrul radix poate lua orice număr de la 2 la 36 (în sistemele mai mari de 10 se folosesc litere ale alfabetului englez, de la A la Z).

Funcția nu gestionează numere precum 1.5e6 precum parseFloat() .

Vă rugăm să citiți exemplele de mai jos pentru a nu da peste capcanele ascunse în funcționarea funcției parseInt().

ParseInt(""25"") // 25 parseInt(""-25"") // -25 parseInt(""45.12"") // 45 parseInt(""045"",10) // 45 parseInt( ""70"",8) // 56 (70 în octal este 56 în zecimal) parseInt(""070"") // 56 (IMPORTANT!!! primul zero va face ca funcția să analizeze șirul ca număr octal ) parseInt(" "88"",8) // NaN (nu există cifră 8 în sistemul octal) parseInt(""a1"") // NaN (IMPORTANT!!! Funcția implicită nu tratează numărul ca hexazecimal dacă nu este adăugat la începutul liniilor 0x) parseInt(""a1"",16) // 161 (sistemul de numere este specificat în mod explicit aici) parseInt(""0xa1"") // 161 (formatul corect al numărului hexazecimal) , nu trebuie să specificați al doilea parametru) parseInt( ""099"") // 0 (IMPORTANT!!! Numărul este tratat ca octal, dar conține caractere nevalide) parseInt(""0.5e6"") / / 0 (IMPORTANT!!! nu funcționează ca parseFloat) parseInt("" ZZ"",36) // 1295 parseInt(""-FF"") // NaN parseInt(""-FF"",16) / / -255

Dacă analizați intrarea utilizatorului dintr-un câmp de text, utilizați întotdeauna parseInt() împreună cu un al doilea parametru radix pentru a vă proteja codul de rezultate neașteptate.

| |

JavaScript împarte datele în tipuri, ceea ce vă ajută să grupați datele și să determinați ce valori pot fi atribuite și ce operațiuni pot fi efectuate.

Deși JavaScript convertește automat multe valori datorită casting-ului de tip, cel mai bine este să convertiți manual tipurile de date pentru a obține rezultatele așteptate.

Acest tutorial vă va învăța cum să convertiți tipurile de date JavaScript primitive, inclusiv numere, șiruri și valori booleene.

Conversie implicită

Limbajul de programare JavaScript este foarte bun la manipularea valorilor neașteptate. JavaScript nu respinge valorile neașteptate, ci mai degrabă încearcă să convertească. Această conversie implicită se mai numește și constrângere de tip.

Anumite metode convertesc automat valorile pentru a le folosi. Metoda alert() ia un șir ca parametru și convertește automat alte tipuri în șiruri. Deci, puteți transmite o valoare numerică acestei metode:

Dacă rulați acest șir, browserul va returna un pop-up cu valoarea 8.5, care va fi deja convertit într-un șir.

Folosind șiruri de numere împreună cu operatori matematici, veți descoperi că JavaScript poate gestiona valori prin conversia implicită a șirurilor în numere:

// Scădere
"15" - "10";
5
// Modul
"15" % "10";
5

Dar nu toți operatorii lucrează previzibil. Acest lucru este valabil mai ales pentru operatorul +: efectuează adunarea numerelor și concatenarea șirurilor.

// Când lucrați cu șiruri, + realizează concatenarea
"2" + "3";
"23"

Deoarece operatorul + are multe utilizări, în acest exemplu tratează valorile 2 și 3 ca șiruri, chiar dacă sunt exprimate ca șiruri numerice. Prin urmare, el combină șirurile „2” și „3” și obține 23, în loc să adauge 2 și 3 și să obțină 5.

O astfel de ambiguitate apare în cod și uneori provoacă rezultate neașteptate, așa că este mai bine să convertiți în mod explicit tipurile de date ori de câte ori este posibil. Acest lucru va ajuta la întreținerea codului și la tratarea erorilor.

Conversia valorilor în șiruri

Pentru a converti explicit o valoare într-un șir, apelați metoda String() sau n.toString().

Încercați să convertiți valoarea booleană adevărată într-un șir folosind String().

Aceasta va returna șirul literal „adevărat”.

De asemenea, puteți încerca să treceți un număr funcției:

Va returna un șir literal:

Acum încercați să utilizați String() cu o variabilă. Atribuiți o valoare numerică variabilei odyssey și utilizați operatorul typeof pentru a verifica tipul.

las odiseea = 2001;
console.log(tip de odisee);
număr

În prezent, variabilei odisee i se atribuie valoarea numerică 2001. Tipul operatorului confirmă că valoarea este un număr.

Acum atribuiți variabilei odyssey echivalentului său în cadrul funcției String() și apoi utilizați typeof pentru a vă asigura că valoarea variabilei este convertită cu succes dintr-un număr într-un șir.

odisee = String(odyssey); // "2001"
console.log(tip de odisee);
şir

După cum puteți vedea, variabila odisee conține acum un șir.

Funcția n.toString() funcționează într-un mod similar. Înlocuiește n cu o variabilă.

lasa lovituri = 400;
lovituri.toString();

Variabila lovituri va conține șirul.

În loc de o variabilă, puteți pune o valoare între paranteze:

(1776).toString(); // returnează „1776”
(fals).toString(); // returnează „false”
(100 + 200).toString(); // returnează „300”

String() și n.toString() convertesc în mod explicit valorile booleene și numerice în șiruri.

Conversia valorilor în numere

Metoda Number() poate converti o valoare într-un număr. Adesea este nevoie să convertiți șiruri formate din numere, dar uneori trebuie să convertiți și valori booleene.

De exemplu, treceți următorul șir la metoda Number():

Șirul va fi convertit într-un număr și nu va mai fi citat.

De asemenea, puteți atribui un șir unei variabile și apoi îl puteți converti.

lasă dalmați = „101”;
Numărul (dalmații);
101

Literalul șir „101” a fost convertit la numărul 101.

Șirurile de spații sau șirurile goale vor fi convertite la numărul 0.

Număr(" "); // returnează 0
Număr(""); // returnează 0

Rețineți că șirurile care nu constau din numere sunt convertite în NaN, ceea ce înseamnă Nu este un număr. Acest lucru se aplică și numerelor separate prin spații.

Numărul ("doisprezece"); // returnează NaN
Număr ("20.000"); // returnează NaN
Număr ("2 3"); // returnează NaN
Număr ("11-11-11"); // returnează NaN

În datele booleene, false va fi 0 și adevărat va fi 1.

Conversia valorilor în valori booleene

Pentru a converti numere sau șiruri de caractere în valori booleene, se folosește metoda Boolean(). De exemplu, ajută la determinarea dacă utilizatorul introduce date într-un câmp de text sau nu.

Orice valoare care este interpretată ca goală, cum ar fi numărul 0, șirul gol, nedefinit, NaN sau nul, este convertită în fals.

Boolean(0); // returnează false
Boolean(""); // returnează false
Boolean(nedefinit); // returnează false
Boolean(NaN); // returnează false
Boolean(null); // returnează false

Alte valori, inclusiv literalele șir formate din spații, vor fi convertite în adevărat.

Boolean(2000); // returnează adevărat
Boolean(" "); // returnează adevărat
Boolean(„Maniaci”); // returnează adevărat

Rețineți că șirul literal „0” este convertit în adevărat deoarece nu este o valoare goală:

Boolean("0"); // returnează adevărat

Conversia numerelor și a șirurilor de caractere în valori booleene permite ca datele să fie evaluate în binar și pot fi folosite pentru a controla fluxul în programe.

Concluzie

Acum știți cum JavaScript convertește tipurile de date. Adesea, transformarea tipului face ca datele să fie convertite implicit, ceea ce poate duce la valori neașteptate. Este recomandat să convertiți în mod explicit tipurile de date pentru a vă asigura că programele funcționează corect.

JavaScript oferă mai multe tipuri de date încorporate. În plus față de acestea, acest articol acoperă tipurile virtuale din jQuery, cum ar fi selectoare, pseudotipuri extinse precum evenimente și tot felul de funcții.

Cel mai bine este să încercați majoritatea exemplelor de mai jos. Acest lucru se poate face cu ușurință prin simpla copiere a acestor exemple în consola Firebug, o extensie de browser Firefox.

Ori de câte ori exemplele efectuează operații într-un context boolean (cum ar fi comparații), este important să știm cum se comportă fiecare tip de date în acel context:

Var x = "" if (x) console.log("x implicit la adevărat") else console.log ("x implicit la false")

În acest caz, va fi tipărit „x este fals”.

Pentru a reduce lungimea exemplelor, operatorul de negație este folosit pentru a afișa contextul boolean:

X // adevărat

Tipuri de date jQuery

  1. Siruri de caractere
    • Metode încorporate pentru șiruri
    • proprietatea lungimii
    • Context boolean
  2. Numerele
    • Context boolean
    • Analizarea numerelor
    • Numere în șiruri
    • NaN și Infinitul
    • Întreg
    • Pluti
  3. tip boolean
  4. Obiecte
    • Notație punct
    • Notație de matrice
    • Repetare
    • Implicit boolean
    • Prototip
  5. Opțiuni
  6. Matrice
    • Repetare
    • Boolean Implicit
    • Matrice Notaţie
  7. Funcții
    • Argumente
    • Context, apelați și aplicați
    • Zona de vizibilitate
    • Închideri
    • Model proxy
  8. Funcții de apel invers
  9. Selectoare
  10. Evenimente
  11. Elemente
  12. tip jQuery
  13. Tipul XMLHttpRequest

Siruri de caractere

„Acesta este un șir JavaScript!” „Și aceasta este și o linie!”

Un șir în JavaScript este un obiect imuabil care conține zero, unul sau mai multe caractere.

Tipul de șiruri este „șir”. Puteți afla tipul unui șir astfel:

Tipul „un șir”; // "șir"

Utilizarea ghilimelelor în șiruri

Un șir poate fi definit folosind ghilimele simple sau duble. Sunteți liber să utilizați ghilimele simple în interiorul unui șir cuprins între ghilimele duble și invers. Pentru a utiliza ghilimele duble în interiorul șirurilor de ghilimele duble, acestea trebuie să fie eliminate cu o bară oblică inversă \ . Acest lucru este valabil și pentru ghilimele simple.

"Ma intristezi." „Sfântul Moise „început”!” " Acasă" "Acasă"

Metode încorporate pentru șiruri

JavaScript are mai multe metode încorporate pentru manipularea șirurilor de caractere, al căror rezultat poate fi fie un șir, fie, de exemplu, o matrice:

"hello".charAt(0) // "h" - obținerea caracterului la poziția dorită în șirul "hello".toUpperCase() // "HELLO" - conversia șirului în majuscule "Hello".toLowerCase() / / "hello" - conversia unui șir în minuscule "hello". replace(/e|o/g, "x") // "hxllx" - înlocuirea unei părți a unui șir cu un subșir folosind modelul de expresie regulată "1,2 ,3".split(", ") // ["1", "2", "3"] - împărțirea unui șir într-o matrice printr-un anumit subșir

proprietatea lungimii

Șirurile au o proprietate de lungime care specifică lungimea șirului.

"Bună".lungime // 5 "".lungime // 0

Context boolean

Un șir gol este evaluat ca fals:

!"" // adevărat ! "bună ziua" // fals ! "adevărat" // fals !nou Boolean(fals) // fals

Numerele

12 3.543

Numerele din JavaScript sunt în format de dublă precizie pe 64 de biți, conform standardului IEEE 754. De asemenea, sunt imuabile. Pentru a lucra cu numere, sunt disponibili toți operatorii, la fel ca în limbajul C (+, -, *, /, %, =, +=, -=, *=, /=, ++, --).

Tipul pentru numere este „număr”. Puteți verifica tipul de numere astfel:

Tip de 12 // „număr” tip de 3.543 // „număr”

Context boolean

Dacă numărul este zero, atunci este egal cu fals:

0 // adevărat !1 // fals !-1 // fals

Deoarece numerele sunt implementate în format dublă precizie, rezultatul următorului exemplu nu este incorect:

0.1 + 0.2 // 0.30000000000000004

Obiect matematic

JavaScript oferă funcții pentru lucrul cu numere într-un obiect Math:

Math.PI // 3.141592653589793 Math.cos(Math.PI) // -1

Convertiți în numere

Funcțiile parseInt și parseFloat convertesc șirurile în numere. Ambele funcții efectuează conversie implicită dacă sistemul numeric nu este specificat:

ParseInt("123") = 123 (conversie zecimală implicită) parseInt("010") = 8 (conversie octală implicită) parseInt("0xCAFE") = 51966 (conversie hexadecimală implicită) parseInt("010", 10) = 10 ( conversie zecimală explicită cu raza 10) parseInt("11", 2) = 3 (conversie binară explicită) parseFloat("10.10") = 10,1

Conversia numerelor în șiruri

Dacă adăugați numere într-un șir folosind operația „+”, rezultatul va fi întotdeauna un șir. Pentru a efectua calcule înainte de a adăuga un număr într-un șir, asigurați-vă că includeți calculele între paranteze:

"" + 1 + 2; // "12" "" + (1 + 2); // "3" "" + 0,0000001; // "1e-7" parseInt(0.0000001); // 1 (notă!)

De asemenea, puteți utiliza clasa JavaScript String, care convertește valoarea transmisă într-un șir:

String(1) + String(2); // „12” șir (1 + 2); // "3"

Tipurile NaN și Infinity

Conversia valorilor care nu sunt numere are ca rezultat NaN. Funcția isNaN determină dacă valoarea transmisă acesteia este egală cu NaN:

ParseInt(„bună ziua”, 10) // NaN isNaN(parseInt(„bună ziua”, 10)) // adevărat

Împărțirea la zero dă rezultatul Infinit:

1 / 0 // Infinit

Atât valoarea NaN, cât și valoarea Infinity sunt de tip „număr”:

Tip de NaN // „număr” tip de infinit // „număr”

Vă rugăm să rețineți că compararea valorilor NaN are loc într-un mod nestandard:

NaN == NaN // fals (!)

Infinit == Infinit // adevărat

Tipul întreg

Integer este un tip întreg.

Tip plutitor

Float este un tip de număr în virgulă mobilă.

tip boolean

Un tip boolean în JavaScript poate fi adevărat sau fals:

Dacă (adevărat) console.log(„întotdeauna!”) dacă (fals) console.log(„niciodată!”)

De exemplu, un tip boolean arată astfel când setați setările la conectarea pluginurilor jQuery:

$("...").somePlugin(( hideOnStartup: true, onlyOnce: false ));

Obiecte

Totul în JavaScript este un obiect. Cel mai simplu mod de a crea un obiect este:

Var x = (); var y = (nume: „Pete”, vârsta: 15);

Tipul pentru obiecte este „obiect”:

Typeof() // „obiect”

Proprietățile obiectului

Puteți modifica și obține proprietățile unui obiect folosind notația cu puncte:

Y.name // "Pete" y.age // 15 x.name = y.name + " Pan" // "Pete Pan" x.age = y.age + 1 // 16

De asemenea, puteți utiliza obiectul ca o matrice:

Operatii var = ( crestere: "++", scadere: "--" ) operatie var = "creste"; operațiuni // "++"; operațiuni["multiply"] = "*"; // "*"

Iterații pe obiecte

Iterarea peste obiecte este foarte ușoară folosind operatorul buclă for-in:

Var obj = (nume: „Pete”, vârsta: 15); for(cheia în obj) ( alert("cheia este "++", valoarea este "+obj); )

jQuery oferă o funcție

pentru a repeta peste proprietățile obiectului sau elementele matricei:

JQuery.each(obj, function(cheie, valoare) ( ​​console.log ("cheie", cheie, "valoare", valoare); ));

Context boolean

Un obiect, indiferent dacă are sau nu proprietăți, este întotdeauna adevărat:

!() // fals

Prototipuri

Toate obiectele au o proprietate prototip. Ori de câte ori interpretul caută o proprietate pe un obiect, verifică și prototipul acestuia. În jQuery, acest mecanism este utilizat pe scară largă pentru a adăuga metode la instanțe ale obiectelor jQuery.

Var form = $("#myform"); form.clearForm; // form nedefinit.fn.clearForm = function() ( return this.find(":input").each(function() ( this.value = ""; )).end(); ); form.clearForm() // poate fi aplicat tuturor instanțelor obiectelor jQuery, deoarece o nouă metodă a fost adăugată la prototip



Ți-a plăcut articolul? Împărtășește-l