Lucrul cu șiruri în javascript: o defalcare completă a variabilelor șir

Salutări tuturor celor care au decis să învețe un limbaj orientat spre prototip. Ultima dată ți-am vorbit despre , iar astăzi vom analiza șirurile JavaScript. Deoarece în această limbă toate elementele de text sunt șiruri de caractere (nu există un format separat pentru caractere), puteți ghici că această secțiune ocupă o parte semnificativă în învățarea sintaxei js.

De aceea, în această publicație, vă voi spune cum sunt create elementele șir, ce metode și proprietăți sunt furnizate pentru acestea, cum să convertiți corect șirurile, de exemplu, convertiți într-un număr, cum puteți extrage subșirul dorit și multe altele. În plus, voi atașa exemple de cod de program. Acum să trecem la treabă!

Sintaxă variabilă șir

În limbajul js, toate variabilele sunt declarate folosind cuvântul cheie var, iar apoi, în funcție de formatul parametrilor, se determină tipul variabilei declarate. După cum vă amintiți din JavaScript, nu există o tastare puternică. De aceea există această situație în cod.

La inițializarea variabilelor, valorile pot fi încadrate în ghilimele duble, simple și, începând din 2015, între ghilimele simple. Mai jos am atașat exemple ale fiecărei metode de declarare a șirurilor de caractere.

Vreau să acord o atenție deosebită celei de-a treia metode. Are o serie de avantaje.

Cu ajutorul acestuia, puteți efectua cu ușurință o întrerupere de linie și va arăta astfel:

alert(`mai multe

mă transfer

Și a treia metodă vă permite să utilizați construcția $(…). Acest instrument este necesar pentru a introduce interpolare. Nu vă alarmați, acum vă spun despre ce este vorba.

Datorită lui $(…) puteți introduce nu numai valori variabile în șiruri de caractere, ci și efectuați operații aritmetice și logice cu acestea, metode de apelare, funcții etc. Toate acestea se numesc un singur termen - interpolare. Consultați un exemplu de implementare a acestei abordări.

1 2 3 var pen = 3; var creion = 1; alert(`$(pix) + $(creion*5) = $(pix + creion)`);

var pen = 3; var creion = 1; alert(`$(pix) + $(creion*5) = $(pix + creion)`);

Ca rezultat, expresia „3 + 1*5 = 8” va fi afișată pe ecran.

În ceea ce privește primele două moduri de declarare a șirurilor de caractere, nu există nicio diferență între ele.

Să vorbim puțin despre personajele speciale

Multe limbaje de programare au caractere speciale care ajută la manipularea textului în șiruri. Cel mai faimos dintre ele este ruptura de linie (\n).

Toate instrumentele similare încep inițial cu o bară oblică inversă (\) și sunt urmate de litere ale alfabetului englez.

Mai jos am atașat un mic tabel care listează câteva caractere speciale.

Ne aprovizionăm cu un arsenal greu de metode și proprietăți

Dezvoltatorii limbajului au oferit multe metode și proprietăți pentru a simplifica și optimiza lucrul cu șiruri. Și odată cu lansarea unui nou standard numit ES-2015 anul trecut, această listă a fost completată cu noi instrumente.

Lungime

Voi începe cu cea mai populară proprietate, care vă ajută să aflați lungimea valorilor variabilelor șir. Acest lungime. Se foloseste astfel:

var șir = „Unicorni”;

alert(string.lungime);

Răspunsul va afișa numărul 9. Această proprietate poate fi aplicată și valorilor în sine:

„Unicorni”.lungime;

Rezultatul nu se va schimba.

charAt()

Această metodă vă permite să extrageți un anumit caracter din text. Permiteți-mi să vă reamintesc că numerotarea începe de la zero, așa că pentru a extrage primul caracter dintr-un șir, trebuie să scrieți următoarele comenzi:

var șir = „Unicorni”;

alert(string.charAt(0));.

Totuși, rezultatul rezultat nu va fi un tip de caracter, ci va fi considerat un șir cu o singură literă.

De la toLowerCase() la UpperCase()

Aceste metode controlează cazul caracterelor. Când scrieți codul „Conținut”.

laMajuscule()întregul cuvânt va fi afișat cu majuscule.

Pentru efectul opus, ar trebui să utilizați „Conținut”. toLowerCase().

Index de()

Un instrument popular și necesar pentru căutarea subșirurilor. Ca argument, trebuie să introduceți cuvântul sau expresia pe care doriți să o găsiți, iar metoda returnează poziția elementului găsit. Dacă textul căutat nu a fost găsit, „-1” va fi returnat utilizatorului.

1 2 3 4 var text = "Organizați o căutare de flori!"; alert(text.indexOf("culoare")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

var text = "Organizați o căutare de flori!"; alert(text.indexOf("culoare")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

Rețineți că lastIndexOf() face același lucru, doar că caută de la sfârșitul propoziției.

Extragerea subșirurilor

Pentru această acțiune, au fost create trei metode aproximativ identice în js.

Să ne uităm mai întâi la asta subșir (început, sfârșit)Și felie (început, sfârșit). Ei lucrează la fel. Primul argument definește poziția de pornire din care va începe extragerea, iar al doilea este responsabil pentru punctul final de oprire. În ambele metode, șirul este extras fără a include caracterul care se află la poziția finală.

var text = "Atmosfera"; alert(text.substring(4)); // va afișa „sphere” alert(text.substring(2, 5)); //afișează alertă „mos” (text.slice(2, 5)); //afișează „mos”

Acum să ne uităm la a treia metodă, care se numește substr(). De asemenea, trebuie să includă 2 argumente: startȘi lungime.

Prima specifică poziția de pornire, iar a doua specifică numărul de caractere care trebuie extrase. Pentru a urmări diferențele dintre aceste trei instrumente, am folosit exemplul anterior.

var text = "Atmosfera";

alert(text.substr(2, 5)); //afișează „mosfe”

Folosind mijloacele enumerate de a lua subșiruri, puteți elimina caracterele inutile din elementele de linie noi cu care programul funcționează apoi.

Răspuns()

Această metodă ajută la înlocuirea caracterelor și subșirurilor din text. Poate fi folosit și pentru a implementa înlocuiri globale, dar pentru a face acest lucru trebuie să includeți expresii regulate.

Acest exemplu va înlocui subșirul numai din primul cuvânt.

var text = "Atmosfera Atmosfera"; var newText = text.replace("Atmo","Strato") alert(newText) // Rezultat: Stratosphere Atmosphere

Iar în această implementare software, datorită steagului expresiei regulate „g”, va fi efectuată o înlocuire globală.

var text = "Atmosfera Atmosfera"; var newText = text.replace(/Atmo/g,"Strato") alert(newText) // Rezultat: Stratosphere Stratosphere

Să facem conversia

JavaScript oferă doar trei tipuri de conversie a tipului de obiect:

  1. Numeric;
  2. Şir;
  3. boolean.

În publicația actuală voi vorbi despre 2 dintre ele, deoarece cunoștințele despre ele sunt mai necesare pentru lucrul cu șiruri.

Conversie numerică

Pentru a converti în mod explicit valoarea unui element într-o formă numerică, puteți utiliza Număr (valoare).

Există și o expresie mai scurtă: +"999".

var a = Number("999");

Conversie de șiruri

Executat de funcție alerta, precum și un apel explicit șir (text).

1 2 3 alert (999+ "super preț") var text = String(999) alert(text === "999");

alert (999+ "super preț") var text = String(999) alert(text === "999");

Pe această notă, am decis să-mi termin munca. Abonați-vă la blogul meu și nu uitați să distribuiți linkul către el prietenilor tăi. Îți doresc mult succes la studii. Pa! Pa!

Cu stima, Roman Chueshov

Citit: de 130 de ori

Există mai multe moduri de a selecta subșiruri în JavaScript, inclusiv substring(), substr(), felie() si functii expresie regulată.

În JavaScript 1.0 și 1.1, substring() există ca singura modalitate simplă de a selecta o parte dintr-un șir mai mare. De exemplu, pentru a selecta linia presa din Expresie, utilizare „Expresie”.substring(2,7). Primul parametru al funcției este indexul de caractere la care începe selecția, în timp ce al doilea parametru este indexul de caractere la care se termină selecția (fără includere): subșir (2,7) include indicii 2, 3, 4, 5 și 6.

În JavaScript 1.2, funcțiile substr(), felie()Și expresie regulată poate fi folosit și pentru a împărți șiruri.

Substr() se comportă la fel ca substr limbajul Pearl, unde primul parametru indică indexul caracterelor la care începe selecția, în timp ce al doilea parametru specifică lungimea subșirului. Pentru a efectua aceeași sarcină ca în exemplul anterior, trebuie să utilizați „Expresie”.substr(2,5). Amintiți-vă, 2 este punctul de plecare, iar 5 este lungimea subșirului rezultat.

Când este folosit pe coarde, felie() se comportă similar cu funcția substring(). Este, totuși, mult mai puternic, capabil să lucreze cu orice tip de matrice, nu doar cu șiruri. felie() folosește și offset-uri negative pentru a accesa poziția dorită, începând de la sfârșitul liniei. „Expresie”.slice(2,-3) va returna subșirul găsit între al doilea caracter și al treilea caracter de la sfârșit, revenind apăsată din nou.

Ultima și cea mai universală metodă de lucru cu subșiruri este lucrul prin funcții de expresie regulată în JavaScript 1.2. Încă o dată, acordând atenție aceluiași exemplu, subșirul "presa" obtinut din sfoara "Expresie":

Scrie(„Expresie”.match(/apăsare/));

Obiect încorporat Şir

Un obiect Şir Aceasta este o implementare obiect a unei valori de șir primitive. Constructorul său arată astfel:

șir nou ( sens?)

Aici sens orice expresie șir care specifică valoarea primitivă a unui obiect. Dacă nu este specificată, valoarea primitivă a obiectului este "" .

Proprietățile obiectului String:

constructor Constructorul care a creat obiectul. Numărul de caractere pe linie. prototip O referință la prototipul clasei de obiecte.

Metode standard pentru obiecte șiruri

Returnează caracterul la poziția dată în șir. Returnează codul caracterului situat la o anumită poziție din șir. Returnează o concatenare de șiruri. Creează un șir din caracterele specificate de codurile Unicode. Returnează poziția primei apariții a subșirului specificat. Returnează poziția ultimei apariții a subșirului specificat. Compară două șiruri de caractere în funcție de limba sistemului de operare. Potrivește un șir cu o expresie regulată. Potrivește un șir cu o expresie regulată și înlocuiește subșirul găsit cu un nou subșir. Potrivește un șir cu o expresie regulată. Preia o parte dintr-un șir și returnează un șir nou. Împarte un șir într-o matrice de subșiruri. Returnează un subșir dat de poziție și lungime. Returnează un subșir specificat de pozițiile de început și de sfârșit. Convertește toate literele unui șir în litere mici, ținând cont de limba sistemului de operare. Convertește toate literele dintr-un șir în majuscule în funcție de limba sistemului de operare. Convertește toate literele dintr-un șir în minuscule. Convertește un obiect într-un șir. Convertește toate literele dintr-un șir în majuscule. Returnează valoarea primitivă a obiectului.

Metode non-standard ale obiectului String

Creează un marcaj HTML ( …). Înfășoară un șir în etichete …. Înfășoară un șir în etichete …. Înfășoară un șir în etichete …. Înfășoară un șir în etichete …. Înfășoară un șir în etichete …. Înfășoară un șir în etichete …. Înfășoară un șir în etichete …. Creează un hyperlink HTML (). Înfășoară un șir în etichete …. Înfășoară un șir în etichete …. Înfășoară un șir în etichete …. Înfășoară un șir în etichete ….

proprietatea lungimii

Sintaxă : un obiect.lungime Atribute: (DontEnum, DontDelete, ReadOnly)

Valoarea proprietății lungime este numărul de caractere din rând. Pentru un șir gol, această valoare este zero.

metoda de ancorare

Sintaxă : un obiect.ancoră( Nume) Argumente: Nume Rezultat: valoare șir

Metodă ancoră obiect, incluse în etichete …. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a crea un marcaj într-un document HTML cu specificația Nume. De exemplu, operatorul document.write("Textul meu".anchor("Bookmark")) este echivalent cu operatorul document.write(" Textul meu") .

metoda mare

Sintaxă : un obiect.mare() Rezultat: valoare șir

Metodă mare returnează un șir format din obiect, incluse în etichete …. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul cu font mare. De exemplu, instrucțiunea document.write("My text".big()) va afișa șirul My text pe ecranul browserului.

metoda clipirii

Sintaxă : un obiect.blink() Rezultat: valoare șir

Metodă clipi returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete …. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul într-un font intermitent. Aceste etichete nu fac parte din standardul HTML și sunt acceptate doar de browserele Netscape și WebTV. De exemplu, instrucțiunea document.write("Textul meu".blink()) va afișa șirul Textul meu pe ecranul browserului.

metodă îndrăzneață

Sintaxă : un obiect.îndrăzneţ() Rezultat: valoare șir

Metodă îndrăzneţ returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete …. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul cu caractere aldine. De exemplu, operatorul document.write("Textul meu".bold()) va afișa linia Textul meu .

metoda charAt

Sintaxă : un obiect.charAt( poziţie) Argumente: poziţie orice expresie numerică Rezultat: valoare șir

Metodă charAt returnează un șir format din caracterul situat în data pozitii valoarea șirului primitiv obiect. Pozițiile caracterelor de linie sunt numerotate de la zero la un obiect. -1.

Dacă poziția este în afara acestui interval, este returnat un șir gol. De exemplu, instrucțiunea document.write("String".charAt(0)) va imprima caracterul C pe ecranul browserului.

Sintaxă : un obiect metoda charCodeAt poziţie) Argumente: poziţie orice expresie numerică Rezultat.charCodeAt(

Metodă charAt: valoare numerica pozitii valoarea șirului primitiv obiect returnează un număr egal cu codul Unicode al caracterului situat în data un obiect. Pozițiile caracterelor de linie sunt numerotate de la zero la . -1. Dacă poziția este în afara acestui interval, revine

NaN

Sintaxă : un obiect. De exemplu, operatorul document.write("String".charCodeAt(0).toString(16)) va afișa codul hexazecimal al literei rusești "C" pe ecranul browserului: 421. metoda concat, .concat(, …, linia 0) Argumente: metoda concat, .concat(, …, linia 0 linia 1 Rezultat: valoare șir

Metodă sfoarăN orice expresii șir

un obiect + metoda concat + .concat( + … + linia 0

concat

returnează un șir nou care este concatenarea șirului original și a argumentelor metodei. Această metodă este echivalentă cu operația

Sintaxă : un obiect De exemplu, operatorul document.write("Frost and sun.".concat("Wonderful day.")) va afișa linia Frost and sun pe ecranul browserului. Este o zi minunată. Rezultat: valoare șir

Metodă metoda fixă returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete ….fix()

fix

Sintaxă : un obiect. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul într-un font teletype. De exemplu, instrucțiunea document.write("Textul meu".fixed()) va afișa șirul Textul meu pe ecranul browserului. Argumente: metoda fontcolor.fontcolor(culoare) Rezultat: valoare șir

Metodă culoare returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete metoda fontcolor>…. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul într-o culoare specificată. De exemplu, instrucțiunea document.write("Textul meu".fontcolor("roșu")) va afișa șirul Textul meu pe ecranul browserului.

metoda fontsize

Sintaxă : un obiect.marimea fontului( mărimea) Argumente: mărimea expresie numerică Rezultat: valoare șir

Metodă marimea fontului returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete …. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul într-o dimensiune specificată a fontului. De exemplu, instrucțiunea document.write("Textul meu".fontsize(5)) va afișa șirul Textul meu pe ecranul browserului.

metoda fromCharCode

Sintaxă : String.fromCharCode( cod 1, codul 2, …, cod N) Argumente: cod 1, codul 2, …, cod N expresii numerice Rezultat: valoare șir

Metodă de laCharCode creează un șir nou (dar nu un obiect șir) care este concatenarea caracterelor Unicode cu coduri cod 1, codul 2, …, cod N.

Aceasta este o metodă statică a unui obiect Şir, deci nu trebuie să creați în mod specific un obiect șir pentru a-l accesa. Exemplu:

Var s = String.fromCharCode(65, 66, 67); // s este egal cu „ABC”

metoda indexOf

Sintaxă : un obiect.Index de( subșir[,start]?) Argumente: subșir orice expresie șir start orice expresie numerică Rezultat.charCodeAt(

Metodă Index de returnează prima poziție subșiruriîntr-o valoare de șir primitivă obiect. un obiect start start start start mai mult decât un obiect un obiect

Căutarea se face de la stânga la dreapta. În caz contrar, această metodă este identică cu metoda. Următorul exemplu numără numărul de apariții ale modelului subșirului din șirul str .

Funcția occur(str, model) ( var pos = str.indexOf(pattern); for (var count = 0; pos != -1; count++) pos = str.indexOf(pattern, pos + pattern.length); return count )

Metoda cursivelor

Sintaxă : un obiect.italice() Rezultat: valoare șir

Metodă cursive returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete …. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul cu font italic. De exemplu, operatorul document.write("Textul meu".italics()) va afișa linia Textul meu .

metoda lastIndexOf

Sintaxă : un obiect.lastIndexOf( subșir[,start]?) Argumente: subșir orice expresie șir start orice expresie numerică Rezultat.charCodeAt(

Metodă ultimulIndexOf returnează ultima poziție subșiruriîn valoarea șirului primitiv obiect un obiect. -1. start Dacă este dat un argument opțional start, apoi căutarea se efectuează pornind de la poziție start; dacă nu, atunci de la poziția 0, adică de la primul caracter al liniei. Dacă start mai mult decât un obiect negativ, atunci se ia egal cu zero; Dacă un obiect. -1, atunci se ia egal

. -1.

Dacă obiectul nu conține acest subșir, atunci valoarea -1 este returnată.

Căutarea se face de la dreapta la stânga. În caz contrar, această metodă este identică cu metoda. Exemplu:

Sintaxă : un obiect Var n = "Balena alba".lastIndexOf("balena"); // n este egal cu 6 metoda link-ului) Argumente: metoda link-ului orice expresie șir Rezultat: valoare șir

Metodă legătură returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichetele uri„> . Nu există nicio verificare pentru a vedea dacă șirul sursă a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a crea un hyperlink într-un document HTML cu etichetele specificate. metoda link-ului. De exemplu, instrucțiunea document.write("My Text".link("#Bookmark")) este echivalentă cu instrucțiunea document.write("My Text") .

metoda localeCompare

Sintaxă : un obiect.localeCompare( .concat() Argumente: .concat( orice expresie șir Rezultat: număr

A sustine

Metodă localCompare compară două șiruri ținând cont de setările naționale ale sistemului de operare. Returnează -1 dacă valoarea primitivă obiect Mai puțin liniile 1, +1 dacă este mai mare liniile 1și 0 dacă aceste valori sunt aceleași.

metoda potrivirii

Sintaxă : un obiect.Meci( regvyr) Argumente: regvyr Rezultat: matrice de șiruri

Metodă Meci regvyr obiect. Rezultatul potrivirii este o matrice de subșiruri găsite sau nul, dacă nu există potriviri. în care:

  • Dacă regvyr nu conține o opțiune de căutare globală, atunci metoda este executată regvyr.exec(un obiect) și rezultatul acestuia este returnat. Matricea rezultată conține subșirul găsit în elementul cu indicele 0, iar elementele rămase conțin subșiruri corespunzătoare subexpresiilor regvyr, cuprinsă între paranteze.
  • Dacă regvyr conține o opțiune de căutare globală, apoi metoda regvyr.exec(un obiect) se execută atâta timp cât se găsesc potriviri. Dacă n este numărul de potriviri găsite, atunci rezultatul este o matrice de n elemente care conțin subșirurile găsite. Proprietate regvyr.ultimulIndex a atribuit un număr de poziție în șirul sursă care indică primul caracter după ultima potrivire găsită sau 0 dacă nu au fost găsite potriviri.

Trebuie amintit că metoda regvyr.exec modifică proprietățile obiectului regvyr. Exemple:

metoda înlocuirii

Sintaxă : un obiect.a inlocui( regvyr,linia) un obiect.a inlocui( regvyr,funcţie) Argumente: regvyr expresie regulată șir expresie șir funcţie numele funcției sau declarația funcției Rezultat: linie nouă

Metodă a inlocui se potrivește cu expresia regulată regvyr cu o valoare de șir primitivă obiectși înlocuiește subșirurile găsite cu alte subșiruri. Rezultatul este un șir nou, care este o copie a șirului original cu înlocuirile făcute. Metoda de înlocuire este determinată de opțiunea de căutare globală în regvyrși tipul celui de-al doilea argument.

Dacă regvyr nu conține o opțiune de căutare globală, atunci căutarea este efectuată pentru primul subșir care se potrivește regvyr si este inlocuit. Dacă regvyr conține o opțiune de căutare globală, apoi toate subșirurile se potrivesc regvyr, iar acestea sunt înlocuite.

linia, apoi fiecare subșir găsit este înlocuit cu acesta. În acest caz, linia poate conține următoarele proprietăți ale obiectului RegExp, cum ar fi $1 , , $9 , lastMatch , lastParen , leftContext și rightContext . De exemplu, operatorul document.write("Mere delicioase, mere suculente.".replace(/mere/g, "pere")) va afișa linia Pere delicioase, pere suculente pe ecranul browserului.

Dacă al doilea argument este funcţie, apoi fiecare subșir găsit este înlocuit prin apelarea acestei funcție. Funcția are următoarele argumente. Primul argument este subșirul găsit, urmat de argumente care se potrivesc cu toate subexpresiile regvyr, cuprins între paranteze, penultimul argument este poziția subșirului găsit în șirul sursă, numărând de la zero, iar ultimul argument este șirul sursă în sine. Următorul exemplu arată cum se utilizează metoda a inlocui puteți scrie o funcție pentru a converti Fahrenheit în Celsius. Scenariul dat

Funcția myfunc($0,$1) ( return (($1-32) * 5 / 9) + „C”; ) funcția f2c(x) ( var s = String(x); return s.replace(/(\d+() \.\d*)?)F\b/, myfunc ) document.write(f2c("212F"));

va afișa linia 100C pe ecranul browserului.

Vă rugăm să rețineți că această metodă modifică proprietățile obiectului regvyr.

Înlocuiește exemplul

Înlocuiți toate aparițiile unui subșir într-un șir

Se întâmplă adesea să trebuiască să înlocuiți toate aparițiile unui șir cu un alt șir:

Var str = "foobarfoobar"; str=str.replace(/foo/g,"xxx"); // rezultatul va fi str = "xxxbarxxxbar";

metoda de cautare

Sintaxă : un obiect.căutare( regvyr) Argumente: regvyr orice expresie regulată Rezultat: expresie numerică

Metodă căutare se potrivește cu expresia regulată regvyr cu o valoare de șir primitivă obiect. Rezultatul potrivirii este poziția primului subșir găsit, numărând de la zero, sau -1 dacă nu există potriviri. În același timp, opțiunea de căutare globală în regvyr este ignorată și proprietăți regvyr nu schimba.

Exemple:

Sintaxă : un obiect metoda feliei start [,.felie(]?) Argumente: startȘi .felie( Sfârşit Rezultat: linie nouă

Metodă orice expresii numerice obiect felie start, din poziție .felie( a pozitiona .felie( start, fără a-l include. Dacă

și până la sfârșitul liniei originale. un obiect Pozițiile caracterelor de linie sunt numerotate de la zero la start un obiect. +start. -1. .felie( Dacă valoarea un obiect. +.felie(. Dacă valoarea

negativ, apoi este înlocuit cu

. Cu alte cuvinte, argumentele negative sunt tratate ca decalaje de la sfârșitul șirului.

Sintaxă : un obiect Rezultatul este o valoare șir, nu un obiect șir. De exemplu, instrucțiunea document.write("ABCDEF".slice(2,-1)) va tipări șirul CDE pe ecranul browserului. Rezultat: valoare șir

Metodă metoda mica returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete ….mic()

mic

Sintaxă : un obiect. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul cu font mic. De exemplu, instrucțiunea document.write("Textul meu".small()) va afișa șirul Textul meu pe ecranul browserului. metoda split [,.Despică(]?) Argumente: metoda splitșir sau expresie regulată .Despică( expresie numerică Rezultat: matrice de șiruri (obiect Matrice)

Metodă Despică rupe valoarea primitivă obiect la o matrice de subșiruri și îl returnează. Împărțirea în subșiruri se face după cum urmează. Șirul sursă este scanat de la stânga la dreapta căutând delimitator. Odată găsit, subșirul de la sfârșitul delimitatorului anterior (sau de la începutul liniei dacă aceasta este prima apariție a delimitatorului) până la începutul celui găsit este adăugat la tabloul de subșiruri. Astfel, separatorul în sine nu apare în textul subșirului.

Argument opțional .Despică( specifică dimensiunea maximă posibilă a tabloului rezultat. Dacă este specificat, atunci după selecție numere Metoda subșirului iese chiar dacă scanarea șirului original nu este finalizată.

Delimitator poate fi specificat fie ca șir, fie ca expresie regulată. Există mai multe cazuri care necesită o atenție specială:

Următorul exemplu utilizează o expresie regulată pentru a specifica etichetele HTML ca delimitator. Operator

va afișa linia Text, bold și italic pe ecranul browserului.

metoda lovirii

Sintaxă : un obiect.grevă() Rezultat: valoare șir

Metodă grevă returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete …. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul într-un font barat. De exemplu, instrucțiunea document.write("Textul meu".strike()) va afișa șirul Textul meu pe ecranul browserului.

submetoda

Sintaxă : un obiect.sub() Rezultat: valoare șir

Metodă sub returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete …. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul ca indice. De exemplu, instrucțiunea document.write("Textul meu".sub()) va afișa șirul Textul meu pe ecranul browserului.

metoda substr

Sintaxă : un obiect.substr( poziţie [,lungime]?) Argumente: poziţieȘi lungime expresii numerice Rezultat: valoare șir

Metodă substr returnează un subșir al valorii primitive a unui șir obiectîncepând cu aceasta pozitiişi conţinând lungime personaje. Dacă lungime nu este specificat, atunci un subșir este returnat pornind de la cel dat pozitiiși până la sfârșitul liniei originale. Dacă lungime este negativ sau zero, este returnat un șir gol.

și până la sfârșitul liniei originale. un obiect. -1. poziţie Dacă un obiect mai mare sau egal cu poziţie., apoi este returnat un șir gol. Dacă un obiect.+poziţie.

este negativ, apoi este interpretat ca un decalaj față de sfârșitul liniei, adică este înlocuit cu Notă poziţie. Dacă

este negativ, Internet Explorer îl înlocuiește din greșeală cu 0, deci din motive de compatibilitate, această opțiune nu ar trebui utilizată.

Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // „f”, dar în MSIE: „abcdef”

Sintaxă : un obiect metoda subșirurilor start [,.felie(]) Argumente: startȘi .felie( expresii numerice Rezultat: valoare șir

Metodă .substring( returnează un subșir al valorii primitive a unui șir obiect felie start, din poziție .felie( a pozitiona .felie( nu este specificat, apoi este returnat un subșir, pornind de la poziție start, fără a-l include. Dacă

și până la sfârșitul liniei originale. un obiect. -1. . -1. Argumente negative sau egale start sunt înlocuite cu zero; dacă argumentul este mai mare decât lungimea șirului original, atunci este înlocuit cu acesta. Dacă Mai mult Sfârşit start, apoi își schimbă locul. Dacă egală Sfârşit

, apoi este returnat un șir gol.

Rezultatul este o valoare șir, nu un obiect șir. Exemple:

Var src = "abcdef"; var s1 = src.substring(1, 3); // "bc" var s2 = src.substring(1, -1); // "a" var s3 = src.substring(-1, 1); // "A"

Sintaxă : un obiect metoda sup Rezultat: valoare șir

Metodă .cina() returnează un șir format dintr-o valoare șir primitivă obiect, incluse în etichete … cina

. Nu există nicio verificare pentru a vedea dacă șirul original a fost deja inclus în aceste etichete. Această metodă este utilizată împreună cu metodele document.write și document.writeln pentru a afișa textul ca superscript. De exemplu, instrucțiunea document.write("Textul meu".sup()) va afișa șirul Textul meu pe ecranul browserului.

Sintaxă : un obiect Metoda toLocaleLowerCase Rezultat.toLocaleLowerCase()

A sustine: linie nouă

Metodă : Internet Explorer acceptat de la versiunea 5.5. Netscape Navigator Nu este acceptat. toLocaleLowerCase

returnează un șir nou în care toate literele șirului original sunt înlocuite cu litere mici, ținând cont de setările locale ale sistemului de operare. Caracterele rămase ale șirului original nu sunt modificate. Șirul original rămâne același. De obicei, această metodă returnează același rezultat ca ; diferența este posibilă numai dacă codificarea limbii intră în conflict cu regulile Unicode pentru conversia literelor mari în litere mici.

Sintaxă : un obiect Metoda toLocaleUpperCase Rezultat.toLocaleLowerCase()

A sustine: linie nouă

Metodă .toLocaleUpperCase() toLocaleUpperCase

returnează un șir nou în care toate literele șirului original sunt înlocuite cu majuscule, ținând cont de setările locale ale sistemului de operare. Caracterele rămase ale șirului original nu sunt modificate. Șirul original rămâne același. De obicei, această metodă returnează același rezultat ca ; diferența este posibilă numai dacă codificarea limbii intră în conflict cu regulile Unicode pentru conversia literelor mici în litere mari.

Sintaxă : un obiect metoda toLowerCase Rezultat: linie nouă

Metodă .toLowerCase() toLowerCase

Capacitățile orientate pe obiecte și matricele asociative ale JavaScript ca „cadre” semantice pentru utilizarea funcțiilor și construcțiilor pentru procesarea șirurilor sunt de interes deosebit pentru programarea proceselor de procesare a informațiilor în funcție de conținutul său semantic. În JavaScript, funcțiile pentru lucrul cu șiruri de caractere pot fi combinate în propriile lor constructe semantice, simplificând codul și formalizând domeniul de subiect al sarcinii.

În versiunea clasică, procesarea informațiilor este în primul rând funcții de șir. Fiecare funcție și construcție a limbajului are propriile sale caracteristici în sintaxa și semantica JavaScript. Metodele de lucru cu șiruri de caractere aici au propriul stil, dar în uz obișnuit este doar sintaxă în cadrul semanticii simple: căutare, înlocuire, inserare, extragere, contenție, modificare majuscule...

Descrierea variabilelor șir

Construcția var este folosită pentru a declara un șir. Puteți să-i setați imediat valoarea sau să o generați în timpul execuției algoritmului. Puteți utiliza ghilimele simple sau duble pentru un șir. Dacă trebuie să conțină ghilimele, trebuie să fie scapat cu caracterul „”.

Un șir notat cu ghilimele duble necesită evadarea ghilimelelor interioare. De asemenea, cel marcat cu ghilimele simple este critic pentru prezența ghilimelelor simple în interior.

În acest exemplu, șirul „str_dbl” listează caractere speciale utile care pot fi folosite în șir. În acest caz, caracterul „” însuși este scăpat.

Un șir este întotdeauna o matrice

JavaScript poate funcționa cu șiruri într-o varietate de moduri. Sintaxa limbajului oferă multe opțiuni. În primul rând, nu trebuie să uităm niciodată că (în contextul descrierilor făcute):

  • str_isV => "V";
  • str_chr => „’”;
  • str_dbl => "a".

Adică, caracterele dintr-un șir sunt disponibile ca elemente de matrice, fiecare caracter special fiind un caracter. Evadarea este un element de sintaxă. Nu este plasat niciun „ecran” pe linia reală.

Utilizarea funcției charAt() are un efect similar:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => „’”;
  • str_dbl.charAt(5) => „a”.

Programatorul poate folosi orice opțiune.

Funcții de bază ale șirurilor

JavaScript gestionează șirurile de caractere puțin diferit față de alte limbi. Numele variabilei (sau șirul în sine) este urmat de numele funcției, despărțit de un punct. De obicei, funcțiile șir sunt numite metode în stilul sintaxei limbajului, dar primul cuvânt este mai familiar.

Cea mai importantă metodă a unui șir (mai corect, o proprietate) este lungimea acestuia.

  • var xStr = str_isV.lungime + '/' + str_chr.lungime + '/' + str_dbl.lungime.

Rezultat: 11/12/175 conform rândurilor descrierii de mai sus.

Cea mai importantă pereche de funcții de șir este împărțirea unui șir într-o matrice de elemente și îmbinarea matricei într-un șir:

  • split(s [, l]);
  • alăturați(e).

În primul caz, șirul este împărțit la caracterul delimitator „s” într-o matrice de elemente în care numărul de elemente nu depășește valoarea „l”. Dacă cantitatea nu este specificată, întreaga linie este întreruptă.

În al doilea caz, matricea de elemente este îmbinată într-o singură linie printr-un delimitator dat.

O caracteristică notabilă a acestei perechi: împărțirea se poate face folosind un separator, iar îmbinarea se poate face folosind altul. În acest context, JavaScript poate funcționa cu șiruri „în afara” sintaxei limbajului.

Funcții clasice de șir

Funcții comune de procesare a șirurilor de caractere:

  • căutare;
  • probă;
  • înlocuire;
  • transformare.

Reprezentat prin metode: indexOf(), lastIndexOf(), substr(), substring(), toLowerCase(), toUpperCase(), concan(), charCodeAt() și altele.

În JavaScript, lucrul cu șiruri este reprezentat de o mare varietate de funcții, dar acestea fie se dublează între ele, fie sunt lăsate pentru algoritmi vechi și compatibilitate.

De exemplu, folosirea metodei concat() este acceptabilă, dar este mai ușor să scrieți:

  • str = str1 + str2 + str3;

Folosirea funcției charAt() are, de asemenea, sens, dar utilizarea charCodeAt() are o semnificație practică reală. În mod similar, pentru JavaScript, o întrerupere de linie are o semnificație specială: în contextul afișării, de exemplu, într-un mesaj alert(), este „n” într-un construct de generare de conținut de pagină, este „;
" În primul caz este doar un caracter, iar în al doilea este un șir de caractere.

Șiruri și expresii regulate

În JavaScript, lucrul cu șiruri de caractere include un mecanism de expresie regulată. Acest lucru permite căutările complexe, preluarea și conversiile de șiruri să fie efectuate în browser fără a contacta serverul.

Metoda de potrivire găsește și înlocuiește potrivirea găsită cu valoarea dorită. Expresiile regulate sunt implementate în JavaScript la un nivel înalt, sunt în mod inerent complexe și, datorită specificului aplicației lor, transferă centrul de greutate de la server la browserul clientului.

Atunci când utilizați metodele de potrivire, căutare și înlocuire, nu ar trebui să acordați atenția cuvenită testării întregii game de valori acceptabile ale parametrilor inițiali și ale șirurilor de căutare, ci și să evaluați încărcarea browserului.

Exemple de expresii regulate

Domeniul de aplicare al expresiilor regulate pentru procesarea șirurilor este extins, dar necesită o mare grijă și atenție din partea dezvoltatorului. În primul rând, expresiile regulate sunt folosite atunci când se testează introducerea utilizatorului în câmpurile de formular.

Iată funcții care verifică dacă intrarea conține un număr întreg (schInt) sau un număr real (schReal). Următorul exemplu arată cât de eficient este procesarea șirurilor de caractere verificându-le numai pentru caractere valide: schText - numai text, schMail - adresă de e-mail validă.

Este foarte important să rețineți că în JavaScript, caracterele și șirurile de caractere necesită o atenție sporită la locale, mai ales atunci când trebuie să lucrați cu chirilic. În multe cazuri, este recomandabil să specificați codurile de caractere reale, mai degrabă decât semnificațiile acestora. Acest lucru se aplică în primul rând literelor rusești.

Trebuie remarcat în special că nu este întotdeauna necesar să finalizați sarcina așa cum este stabilită. În special, în ceea ce privește verificarea numerelor întregi și reale: vă puteți descurca nu cu metodele clasice de șir, ci cu construcții de sintaxă obișnuite.

Șiruri orientate pe obiecte

În JavaScript, lucrul cu șiruri de caractere este reprezentat de o gamă largă de funcții. Dar acesta nu este un motiv bun pentru a le folosi în forma lor originală. Sintaxa și calitatea funcțiilor sunt impecabile, dar este o soluție unică.

Orice utilizare a funcțiilor șir implică procesarea semnificației reale, care este determinată de date, domeniul de aplicare și scopul specific al algoritmului.

Soluția ideală este întotdeauna interpretarea datelor pentru semnificația lor.

Reprezentând fiecare parametru ca obiect, puteți formula funcții care să lucreze cu el. Vorbim mereu despre procesarea simbolurilor: numerele sau șirurile sunt secvențe de simboluri organizate într-un mod specific.

Există algoritmi generali și sunt cei privați. De exemplu, un nume de familie sau un număr de casă sunt șiruri de caractere, dar dacă în primul caz sunt permise doar litere rusești, atunci în al doilea caz numere sunt permise litere rusești și pot exista cratime sau indici separați printr-o bară oblică. Indecii pot fi alfabetici sau numerici. Casa poate avea clădiri.

Nu este întotdeauna posibil să prevăd toate situațiile. Acesta este un punct important în programare. Este rar ca un algoritm să nu necesite modificare și, în majoritatea cazurilor, este necesară ajustarea sistematică a funcționalității.

Formalizarea informațiilor de linie procesate sub forma unui obiect îmbunătățește lizibilitatea codului și permite aducerea acestuia la nivelul de procesare semantică. Acesta este un grad diferit de funcționalitate și o calitate semnificativ mai bună a codului, cu o fiabilitate mai mare a algoritmului dezvoltat.

Ca „cadre” semantice pentru utilizarea funcțiilor și construcțiilor pentru procesarea șirurilor, acestea prezintă un interes deosebit pentru programarea proceselor de prelucrare a informațiilor în funcție de conținutul semantic al acestuia. În JavaScript, funcțiile pentru lucrul cu șiruri de caractere pot fi combinate în propriile lor constructe semantice, simplificând codul și formalizând domeniul de subiect al sarcinii.

În versiunea clasică, prelucrarea informațiilor este, în primul rând, funcții șir. Fiecare funcție și construcție a limbajului are propriile sale caracteristici în sintaxa și semantica JavaScript. Metodele de lucru cu șiruri de caractere aici au propriul stil, dar în uz obișnuit este doar sintaxă în cadrul semanticii simple: căutare, înlocuire, inserare, extragere, conotație, schimbare majuscule...

Descrierea variabilelor șir

Pentru a declara un șir, utilizați construcția var. Puteți să-i setați imediat valoarea sau să o generați în timpul execuției algoritmului. Puteți utiliza ghilimele simple sau duble pentru un șir. Dacă trebuie să conțină ghilimele, acesta trebuie să fie eliminat cu caracterul „\”.

Linia indicată necesită evadarea ghilimelelor interne duble. De asemenea, cel marcat cu ghilimele simple este critic pentru prezența ghilimelelor simple în interior.

În acest exemplu, șirul „str_dbl” listează caractere speciale utile care pot fi folosite în șir. În acest caz, caracterul „\” însuși este scapat.

Un șir este întotdeauna o matrice

JavaScript poate funcționa cu șiruri într-o varietate de moduri. Sintaxa limbajului oferă multe opțiuni. În primul rând, nu trebuie să uităm niciodată că (în contextul descrierilor făcute):

  • str_isV => "V";
  • str_chr => """;
  • str_dbl => "a".

Adică, caracterele dintr-un șir sunt disponibile ca elemente de matrice, fiecare caracter special fiind un caracter. Evadarea este un element de sintaxă. Nu este plasat niciun „ecran” pe linia reală.

Utilizarea funcției charAt() are un efect similar:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => """;
  • str_dbl.charAt(5) => „a”.

Programatorul poate folosi orice opțiune.

Funcții de bază ale șirurilor

În JavaScript se face puțin diferit decât în ​​alte limbi. Numele variabilei (sau șirul în sine) este urmat de numele funcției, despărțit de un punct. De obicei, funcțiile șir sunt numite metode în stilul sintaxei limbajului, dar primul cuvânt este mai familiar.

Cea mai importantă metodă a unui șir (mai corect, o proprietate) este lungimea acestuia.

  • var xStr = str_isV.lungime + "/" + str_chr.lungime + "/" + str_dbl.lungime.

Rezultat: 11/12/175 conform rândurilor descrierii de mai sus.

Cea mai importantă pereche de funcții de șir este împărțirea unui șir într-o matrice de elemente și îmbinarea matricei într-un șir:

  • split(s [, l]);
  • alăturați(e).

În primul caz, șirul este împărțit la caracterul delimitator „s” într-o matrice de elemente în care numărul de elemente nu depășește valoarea „l”. Dacă cantitatea nu este specificată, întreaga linie este întreruptă.

În al doilea caz, matricea de elemente este îmbinată într-o singură linie printr-un delimitator dat.

O caracteristică notabilă a acestei perechi: împărțirea se poate face folosind un separator, iar îmbinarea se poate face folosind altul. În acest context, JavaScript poate funcționa cu șiruri „în afara” sintaxei limbajului.

Funcții clasice de șir

Funcții comune de procesare a șirurilor de caractere:

  • căutare;
  • probă;
  • înlocuire;
  • transformare.

Reprezentat prin metode: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() și altele.

În JavaScript, lucrul cu șiruri este reprezentat de o mare varietate de funcții, dar acestea fie se dublează între ele, fie sunt lăsate pentru algoritmi vechi și compatibilitate.

De exemplu, folosirea metodei concat() este acceptabilă, dar este mai ușor să scrieți:

  • str = str1 + str2 + str3;

Folosirea funcției charAt() are, de asemenea, sens, dar utilizarea charCodeAt() are o semnificație practică reală. În mod similar, pentru JavaScript, o întrerupere de linie are o semnificație specială: în contextul afișării, de exemplu, într-un mesaj alert(), este „\n”, într-o construcție de generare a conținutului paginii este „
" În primul caz este doar un caracter, iar în al doilea este un șir de caractere.

Șiruri și expresii regulate

În JavaScript, lucrul cu șiruri de caractere include un mecanism de expresie regulată. Acest lucru permite căutările complexe, preluarea și conversiile de șiruri să fie efectuate în browser fără a contacta serverul.

Metodă Meci găsește, și a inlocuiînlocuiește potrivirea găsită cu valoarea dorită. Expresiile regulate sunt implementate în JavaScript la un nivel înalt, sunt în mod inerent complexe și, datorită specificului aplicației lor, transferă centrul de greutate de la server la browserul clientului.

La aplicarea metodelor potrivire, cautareȘi a inlocui Nu numai că ar trebui să acordați atenția cuvenită testării pe întreaga gamă de valori acceptabile ale parametrilor inițiali și ale șirurilor de căutare, ci și să evaluați încărcarea browserului.

Exemple de expresii regulate

Domeniul de aplicare al expresiilor regulate pentru procesarea șirurilor este extins, dar necesită o mare grijă și atenție din partea dezvoltatorului. În primul rând, expresiile regulate sunt folosite atunci când se testează introducerea utilizatorului în câmpurile de formular.

Iată funcții care verifică dacă intrarea conține un număr întreg (schInt) sau un număr real (schReal). Următorul exemplu arată cât de eficient este procesarea șirurilor de caractere verificându-le numai pentru caractere valide: schText - numai text, schMail - adresa de e-mail validă.

Este foarte important să rețineți că în JavaScript, caracterele și șirurile de caractere necesită o atenție sporită la locale, mai ales atunci când trebuie să lucrați cu chirilic. În multe cazuri, este recomandabil să specificați codurile de caractere reale, mai degrabă decât semnificațiile acestora. Acest lucru se aplică în primul rând literelor rusești.

Trebuie remarcat în special că nu este întotdeauna necesar să finalizați sarcina așa cum este stabilită. În special, în ceea ce privește verificarea numerelor întregi și reale: vă puteți descurca nu cu metodele clasice de șir, ci cu construcții de sintaxă obișnuite.

Șiruri orientate pe obiecte

În JavaScript, lucrul cu șiruri de caractere este reprezentat de o gamă largă de funcții. Dar acesta nu este un motiv bun pentru a le folosi în forma lor originală. Sintaxa și calitatea funcțiilor sunt impecabile, dar este o soluție unică.

Orice utilizare a funcțiilor șir implică procesarea semnificației reale, care este determinată de date, domeniul de aplicare și scopul specific al algoritmului.

Soluția ideală este întotdeauna interpretarea datelor pentru semnificația lor.

Reprezentând fiecare parametru ca obiect, puteți formula funcții pentru a lucra cu el. Vorbim mereu despre procesarea simbolurilor: numerele sau șirurile sunt secvențe de simboluri organizate într-un mod specific.

Există algoritmi generali și sunt cei privați. De exemplu, un nume de familie sau un număr de casă sunt șiruri de caractere, dar dacă în primul caz sunt permise doar litere rusești, atunci în al doilea caz numere sunt permise litere rusești și pot exista cratime sau indici separați printr-o bară oblică. Indecii pot fi alfabetici sau numerici. Casa poate avea clădiri.

Nu este întotdeauna posibil să prevăd toate situațiile. Acesta este un punct important în programare. Este rar ca un algoritm să nu necesite modificare și, în majoritatea cazurilor, este necesară ajustarea sistematică a funcționalității.

Formalizarea informațiilor de linie procesate sub forma unui obiect îmbunătățește lizibilitatea codului și permite aducerea acestuia la nivelul de procesare semantică. Acesta este un grad diferit de funcționalitate și o calitate semnificativ mai bună a codului, cu o fiabilitate mai mare a algoritmului dezvoltat.

De la autor: Salutări, prieteni. În mai multe articole anterioare, ne-am familiarizat cu tipul de date numerice din JavaScript și am lucrat cu numere. Acum este timpul să lucrați cu șiruri în JavaScript. Să aruncăm o privire mai atentă la tipul de date șir în JavaScript.

Ne-am familiarizat deja pe scurt cu tipul șirului și, de fapt, am aflat doar ce este un șir și cum este scris. Să aruncăm o privire mai atentă asupra șirurilor și metodelor de lucru cu ele.

După cum vă amintiți, orice text din JavaScript este un șir. Șirul trebuie să fie cuprins între ghilimele, simplu sau dublu, nu are nicio diferență:

var hi = "bună", nume = "Ioan";

var hi = "bună ziua",

nume = "Ioan";

Acum am scris un singur cuvânt în variabile. Dar dacă vrem să înregistrăm o cantitate mare de text? Da, nicio problemă, hai să scriem niște text de pește într-o variabilă și să-l trimitem în consolă:

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit. Quos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit. Quos nisi, culpa exercitationem!";

consolă. jurnal(text);

Lucrări. Dar dacă există mult text, probabil că vom avea întreruperi de rând pentru a începe un nou paragraf pe o nouă linie. Să încercăm să adăugăm o întrerupere de linie ca aceasta la textul nostru:

După cum puteți vedea, editorul meu de text a evidențiat deja posibila problemă în roșu. Să vedem cum reacționează browserul la o întrerupere de linie în această interpretare:

Eroare de sintaxă, așa cum v-ați aștepta. Cum să fii? Există mai multe moduri de a stoca text cu mai multe linii într-o variabilă. Poate ați ghicit deja despre una dintre ele, vorbim despre concatenarea șirurilor:

După cum puteți vedea, editorul reacționează deja normal la această opțiune de a scrie un șir într-o variabilă. O altă opțiune este să utilizați backslash (\), care în JavaScript și în multe alte limbaje de programare este un caracter de escape care vă permite să lucrați în siguranță cu caractere speciale. Vom afla mai departe care sunt personajele speciale. Deci, să încercăm să scăpăm de caracterul invizibil de linie nouă:

Ecranarea ne-a rezolvat și problema. Cu toate acestea, dacă ne uităm la consolă, atât concatenarea șirurilor, cât și scăparea fluxului de rând, rezolvând în același timp problema scrierii în program, nu a rezolvat problema afișării unui șir de mai multe linii pe ecran. În loc de o linie cu mai multe linii, vom vedea text pe o linie în consolă. Ce ar trebuii să fac?

Și aici ne va ajuta caracterul special newline - \n. Adăugând acest caracter special la linie în locul potrivit, îi vom spune interpretului că în acest loc este necesar să se încheie linia curentă și să facă o tranziție la o linie nouă.

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\ \nQuos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\

"Quos nisi, culpa exercitationem!";

consolă. jurnal(text);

De fapt, dacă nu te deranjează să scrii textul din cod într-o singură linie, atunci putem face asta:

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\nQuos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\nQuos nisi, culpa exercitationem!";

consolă. jurnal(text);

Rezultatul de pe ecran nu se va schimba, vom vedea text cu mai multe linii în consola browser:

Chiar nu avem nevoie de caracterul de escape backslash din cod în această situație. Dar este de fapt necesar, așa cum s-a menționat mai sus, pentru a scăpa de caractere speciale. De exemplu, în interiorul unui șir pe care l-am închis între ghilimele simple, există un apostrof, adică ghilimele unice:

var text = "Lorem ipsum d"olor sit amet";