Tukio la mfuatano wa Javascript. Sintaksia inayobadilika ya kamba. Sintaksia ya kamba mbadala

Kama "mifumo" ya kisemantiki ya matumizi ya vitendaji na miundo ya minyororo ya usindikaji, ni ya kupendeza haswa kwa michakato ya usindikaji wa habari ya programu kulingana na yaliyomo kisemantiki. Kwa ulimi Vitendaji vya JavaScript shughuli zilizo na kamba zinaweza kuunganishwa katika muundo wako wa kisemantiki, kurahisisha nambari na kurasimisha. eneo la somo kazi.

KATIKA toleo la classic usindikaji wa habari kimsingi ni vitendaji vya kamba. Kila kazi na muundo wa lugha una sifa zake katika sintaksia na semantiki ya JavaScript. Njia za kufanya kazi na kamba hapa zina mtindo wao wenyewe, lakini kwa matumizi ya kawaida ni syntax tu ndani ya semantiki rahisi: tafuta, badilisha, kuingiza, uchimbaji, connotation, mabadiliko ya kesi ...

Maelezo ya vigezo vya kamba

Ili kutangaza kamba, tumia ujenzi var. Unaweza kuweka thamani yake mara moja au kuizalisha wakati wa utekelezaji wa algorithm. Unaweza kutumia nukuu moja au mbili kwa kamba. Ikiwa ni lazima iwe na alama ya kunukuu, lazima iepukwe na herufi "\".

Mstari ulioonyeshwa unahitaji kuepuka manukuu mara mbili ya ndani. Vivyo hivyo, ile iliyo na alama za nukuu moja ni muhimu kwa uwepo wa nukuu moja ndani.

KATIKA katika mfano huu kamba "str_dbl" huorodhesha herufi maalum muhimu ambazo zinaweza kutumika kwenye safu. Katika kesi hii, herufi "\" yenyewe imetoroka.

Kamba daima ni safu

JavaScript inaweza kufanya kazi na mifuatano kwa njia mbalimbali. Sintaksia ya lugha hutoa chaguzi nyingi. Kwanza kabisa, mtu haipaswi kusahau kwamba (katika muktadha wa maelezo yaliyotolewa):

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

Hiyo ni, wahusika wa kamba zinapatikana kama vipengele vya safu, na kila mmoja tabia maalum- hii ni tabia moja. Kutoroka ni kipengele cha sintaksia. Hakuna "skrini" iliyowekwa kwenye mstari halisi.

Kutumia charAt() kazi ina athari sawa:

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

Msanidi programu anaweza kutumia chaguo lolote.

Kazi za Msingi za Kamba

Katika JavaScript inafanywa tofauti kidogo kuliko katika lugha zingine. Jina la kutofautiana (au kamba yenyewe) inafuatwa na jina la kazi, ikitenganishwa na nukta. Kwa kawaida, kazi za kamba huitwa mbinu katika mtindo wa syntax ya lugha, lakini neno la kwanza linajulikana zaidi.

Njia muhimu zaidi ya kamba (kwa usahihi zaidi, mali) ni urefu wake.

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

Matokeo: 11/12/175 kulingana na mistari ya maelezo hapo juu.

Jozi muhimu zaidi ya utendakazi wa kamba ni kugawanya kamba katika safu ya vitu na kuunganisha safu kuwa safu:

  • mgawanyiko [, l]);
  • kujiunga (s).

Katika kesi ya kwanza, kamba imegawanywa katika herufi ya delimiter "s" katika safu ya vipengele ambavyo idadi ya vipengele haizidi thamani "l". Ikiwa wingi haujainishwa, mstari mzima umevunjwa.

Katika kesi ya pili, safu ya vipengele imeunganishwa kwenye mstari mmoja kupitia delimiter iliyotolewa.

Kipengele kinachojulikana cha jozi hii: kugawanyika kunaweza kufanywa kwa kutumia kitenganishi kimoja, na kuunganisha kunaweza kufanywa kwa kutumia mwingine. Katika muktadha huu, JavaScript inaweza kufanya kazi na mifuatano "nje" ya syntax ya lugha.

Kazi za kamba za kawaida

Kazi za kawaida za usindikaji wa kamba:

  • tafuta;
  • sampuli;
  • mbadala;
  • mabadiliko.

Inawakilishwa na mbinu: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() na zingine.

Katika JavaScript, kufanya kazi na mifuatano kunawakilishwa na anuwai kubwa ya utendakazi, lakini huenda kunakiliana au kuachwa kwa algoriti za zamani na utangamano.

Kwa mfano, kutumia njia ya concat() inakubalika, lakini ni rahisi kuandika:

  • str = str1 + str2 + str3;

Kutumia charAt() kazi pia inaeleweka, lakini kutumia charCodeAt() kuna athari halisi. umuhimu wa vitendo. Vivyo hivyo, kwa JavaScript, mapumziko ya mstari yana maana maalum: katika muktadha wa kuonyesha, kwa mfano, katika ujumbe wa tahadhari () ni "\n", katika kuunda maudhui ya ukurasa ni "
" Katika kesi ya kwanza ni tabia tu, na kwa pili ni safu ya wahusika.

Kamba na Maneno ya Kawaida

Katika JavaScript, kufanya kazi na mifuatano ni pamoja na utaratibu wa kujieleza wa kawaida. Hii inaruhusu utafutaji changamano, kuleta, na ubadilishaji wa kamba kufanywa ndani ya kivinjari bila kuwasiliana na seva.

Njia mechi hupata, na badala hubadilisha kilinganishi kilichopatikana na thamani inayotaka. Maneno ya kawaida yanatekelezwa katika JavaScript kwa kiwango cha juu, ni changamano, na kutokana na maalum ya maombi yao, huhamisha kituo cha mvuto kutoka kwa seva hadi kivinjari cha mteja.

Wakati wa kutumia mbinu mechi, tafuta Na badala si tu kwamba tahadhari ipasavyo kulipwa kwa upimaji katika wigo mzima maadili yanayokubalika vigezo vya awali na masharti ya utafutaji, lakini pia tathmini mzigo kwenye kivinjari.

Mifano ya kujieleza mara kwa mara

Upeo wa maneno ya kawaida kwa masharti ya usindikaji ni mkubwa, lakini inahitaji uangalifu mkubwa na tahadhari kutoka kwa msanidi. Kwanza kabisa, misemo ya kawaida hutumiwa wakati wa kujaribu ingizo la mtumiaji katika sehemu za fomu.

Hapa kuna chaguo za kukokotoa ambazo hukagua ikiwa ingizo lina nambari kamili (schInt) au nambari halisi (schReal). Mfano ufuatao unaonyesha jinsi inavyofaa kuchakata mifuatano kwa kuziangalia kwa herufi halali pekee: schText - text only, schMail - anwani sahihi Barua pepe.

Ni muhimu kukumbuka kuwa katika JavaScript, wahusika na masharti yanahitaji kuongezeka kwa umakini kwa eneo, haswa wakati unahitaji kufanya kazi na Cyrillic. Katika hali nyingi, inashauriwa kutaja misimbo halisi ya wahusika badala ya maana zao. Hii inatumika hasa kwa barua za Kirusi.

Inapaswa kuzingatiwa hasa kwamba si lazima kila wakati kukamilisha kazi kama ilivyowekwa. Hasa, kuhusiana na kuangalia nambari na nambari halisi: unaweza kupata sio kwa njia za kamba za classical, lakini miundo ya kawaida sintaksia.

Kamba Zinazoelekezwa na Kitu

Katika JavaScript, kufanya kazi na kamba kunawakilishwa na anuwai ya vitendaji. Lakini hii sio sababu nzuri ya kuzitumia katika fomu yao ya asili. Sintaksia na ubora wa chaguo za kukokotoa hazifai, lakini ni suluhisho la ukubwa mmoja.

Maombi yoyote kazi za kamba inahusisha usindikaji maana halisi, ambayo imedhamiriwa na data, upeo wa matumizi, na madhumuni maalum ya algoriti.

Suluhisho bora kila wakati ni kutafsiri data kwa maana yake.

Kwa kuwakilisha kila parameta kama kitu, unaweza kuunda kazi za kufanya kazi nayo. Kila mara tunazungumzia kuhusu usindikaji wa alama: nambari au nyuzi ni mfuatano wa alama zilizopangwa kwa njia maalum.

Kuna algorithms ya jumla, na kuna ya kibinafsi. Kwa mfano, jina la jina au nambari ya nyumba ni masharti, lakini ikiwa katika kesi ya kwanza barua za Kirusi tu zinaruhusiwa, basi katika nambari za kesi ya pili, barua za Kirusi zinaruhusiwa, na kunaweza kuwa na hyphens au fahirisi zinazotenganishwa na slash. Fahirisi zinaweza kuwa za alfabeti au nambari. Nyumba inaweza kuwa na majengo.

Si mara zote inawezekana kutabiri hali zote. Hii hatua muhimu katika programu. Ni nadra kwamba algorithm haihitaji marekebisho, na katika hali nyingi ni muhimu kurekebisha utendakazi kwa utaratibu.

Urasimishaji wa maelezo ya mstari uliochakatwa kwa namna ya kitu huboresha usomaji wa msimbo na inaruhusu kuletwa kwa kiwango cha usindikaji wa semantic. Hii ni kiwango tofauti cha utendaji na kwa kiasi kikubwa ubora bora kanuni na kuegemea zaidi kwa algorithm iliyotengenezwa.

Kuna njia kadhaa za kuchagua kamba ndogo katika JavaScript, pamoja na kamba ndogo(), substr(), kipande() na kazi regexp.

Katika JavaScript 1.0 na 1.1, kamba ndogo() ipo kama njia rahisi ya kuchagua sehemu ya kamba kubwa zaidi. Kwa mfano, kuchagua mstari vyombo vya habari kutoka Kujieleza, tumia "Maelezo".. kamba ndogo(2,7). Kigezo cha kwanza cha kazi ni faharisi ya mhusika ambayo uteuzi huanza, wakati paramu ya pili ni faharisi ya mhusika ambayo uteuzi unaisha (bila kujumuisha): kamba ndogo(2,7) inajumuisha faharasa 2, 3, 4, 5, na 6.

Katika JavaScript 1.2, hufanya kazi substr(), kipande() Na regexp inaweza pia kutumika kugawanya kamba.

Substr() hutenda kwa njia sawa na sehemu ndogo lugha ya Lulu, ambapo kigezo cha kwanza kinaonyesha faharasa ya herufi ambayo uteuzi huanza, wakati parameta ya pili inabainisha urefu wa kamba ndogo. Ili kufanya kazi sawa na katika mfano uliopita, unahitaji kutumia "Maelezo".substr(2,5). Kumbuka, 2 ndio mahali pa kuanzia, na 5 ni urefu wa kamba ndogo inayosababisha.

Inapotumika kwenye nyuzi, kipande() inatenda sawa na kazi kamba ndogo(). Hii ni, hata hivyo, mengi zaidi chombo chenye nguvu, yenye uwezo wa kufanya kazi na aina yoyote ya safu, na sio tu kamba. kipande() pia hutumia mikondo hasi kufikia nafasi inayotakiwa, kuanzia mwisho wa mstari. "Maongezi". kipande(2,-3) itarudisha kamba ndogo iliyopatikana kati ya herufi ya pili na herufi ya tatu kutoka mwisho, ikirudi tena bonyeza.

Hivi karibuni na zaidi mbinu ya ulimwengu wote kufanya kazi na substrings - hii ni kazi kupitia kazi za kawaida maneno katika JavaScript 1.2. Kwa mara nyingine tena, ukizingatia mfano huo huo, kamba ndogo "bonyeza" kupatikana kutoka kwa kamba "Maelezo":

Andika("Maelezo".match(/press/));

Kitu kilichojengwa ndani Kamba

Kitu Kamba Huu ni utekelezaji wa kitu cha thamani ya mfuatano wa awali. Muundaji wake anaonekana kama:

Kamba Mpya ( maana?)

Hapa maana usemi wowote wa mfuatano unaobainisha thamani ya awali ya kitu. Ikiwa haijabainishwa, thamani ya kwanza ya kitu ni "" .

Sifa za kitu cha Kamba:

mjenzi Mjenzi aliyeunda kitu. Idadi ya wahusika kwa kila mstari. mfano Rejeleo la mfano wa darasa la kitu.

Mbinu za Kifaa cha Mfuatano wa Kawaida

Hurejesha herufi katika nafasi iliyotolewa kwenye mfuatano. Hurejesha msimbo wa herufi iliyo katika nafasi fulani katika mfuatano. Hurejesha muunganisho wa mifuatano. Huunda mfuatano kutoka kwa vibambo vilivyobainishwa na misimbo ya Unicode. Hurejesha nafasi ya tukio la kwanza la kamba ndogo iliyobainishwa. Hurejesha nafasi ya tukio la mwisho la kamba ndogo iliyobainishwa. Inalinganisha mifuatano miwili kulingana na lugha mfumo wa uendeshaji. Inalingana na mfuatano dhidi ya usemi wa kawaida. Inalinganisha mfuatano dhidi ya msemo wa kawaida na hubadilisha kamba iliyopatikana kwa kamba mpya. Inalingana na mfuatano na usemi wa kawaida. Hurejesha sehemu ya mfuatano na kurejesha mfuatano mpya. Hugawanya mfuatano katika safu ya mistari midogo. Hurejesha kamba ndogo iliyotolewa kwa nafasi na urefu. Hurejesha kamba ndogo iliyobainishwa na nafasi za kuanzia na za kumalizia. Hubadilisha herufi zote za mfuatano kuwa herufi ndogo, kwa kuzingatia lugha ya mfumo wa uendeshaji. Hubadili herufi zote katika mfuatano hadi herufi kubwa kulingana na lugha ya mfumo wa uendeshaji. Hubadilisha herufi zote katika mfuatano kuwa herufi ndogo. Hubadilisha kitu kuwa mfuatano. Hubadilisha herufi zote kwenye mfuatano kuwa herufi kubwa. Hurejesha thamani ya awali ya kitu.

Njia zisizo za kawaida za kitu cha Kamba

Inaunda Alamisho ya HTML (…) Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho …. Inaunda kiungo cha HTML(). Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho …. Hufunga kamba katika vitambulisho ….

urefu wa mali

Sintaksia : kitu.urefu Sifa: (DontEnum, DontDelete, ReadOnly)

Thamani ya mali urefu ni idadi ya wahusika katika mstari. Kwa mfuatano tupu, thamani hii ni sifuri.

njia ya nanga

Sintaksia : kitu.nanga( Jina) Hoja: Jina Matokeo: thamani ya kamba

Njia nanga kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona kama mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika kwa kushirikiana na njia za hati. andika na hati. andika kuunda alamisho kwenye hati ya HTML na iliyoainishwa. jina. Kwa mfano, opereta document.write("Maandishi yangu".nanga("Alamisho")) ni sawa na opereta document.write(" Maandishi yangu") .

mbinu kubwa

Sintaksia : kitu.kubwa() Matokeo: thamani ya kamba

Njia kubwa inarudisha kamba inayojumuisha kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona kama mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika kwa kushirikiana na njia za hati.andika na document.writeln ili kuonyesha maandishi chapa kubwa. Kwa mfano, taarifa document.write("My text".big()) itaonyesha kamba Maandishi Yangu kwenye skrini ya kivinjari.

mbinu ya kupepesa macho

Sintaksia : kitu.blink() Matokeo: thamani ya kamba

Njia kupepesa macho hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona kama mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika pamoja na mbinu za document.write na document.writeln ili kuonyesha maandishi katika fonti inayopepesa. Lebo zilizoainishwa si sehemu ya kiwango cha HTML na zinatumika tu na vivinjari vya Netscape na WebTV. Kwa mfano, taarifa document.write("My text".blink()) itaonyesha kamba Maandishi Yangu kwenye skrini ya kivinjari.

njia ya ujasiri

Sintaksia : kitu.bold() Matokeo: thamani ya kamba

Njia ujasiri hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona kama mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika pamoja na mbinu za hati.andika na document.writeln ili kuonyesha maandishi katika herufi nzito. Kwa mfano, opereta document.write("Nakala yangu".bold()) itaonyesha mstari Maandishi yangu .

Mbinu ya charAt

Sintaksia : kitu.charAt( nafasi) Hoja: nafasi usemi wowote wa nambari Matokeo: thamani ya kamba

Njia charAt hurejesha mfuatano unaojumuisha herufi iliyoko kwenye ile iliyotolewa nafasi thamani ya mfuatano wa awali kitu. Nafasi za herufi za mstari zimehesabiwa kutoka sifuri hadi kitu. -1. Ikiwa nafasi iko nje ya safu hii, inarudi mstari tupu

. Kwa mfano, taarifa document.write("String".charAt(0)) itachapisha herufi C kwenye skrini ya kivinjari.

Sintaksia : kitu Mbinu ya charCodeAt nafasi) Hoja: nafasi usemi wowote wa nambari Matokeo: .charCodeAt(

Njia charAt thamani ya nambari nafasi thamani ya mfuatano wa awali kitu hurejesha nambari sawa na msimbo wa Unicode wa herufi iliyoko kwenye ile iliyotolewa kitu. -1. . Nafasi za herufi za mstari zimehesabiwa kutoka sifuri hadi NaN . Kwa mfano, taarifa document.write("String".charCodeAt(0).toString(16)) itaonyeshwa. msimbo wa hexadecimal

Barua ya Kirusi "S": 421.

Sintaksia : kitu njia ya concat .concat(, mstari 0, …, mstari 1) Hoja: .concat(, mstari 0, …, mstari 1 kambaN Matokeo: thamani ya kamba

Njia maneno yoyote ya kamba concat

kitu + .concat( + mstari 0 + … + mstari 1

hurejesha mfuatano mpya ambao ni muunganisho wa mfuatano wa asili na hoja za mbinu. Njia hii ni sawa na operesheni

Kwa mfano, opereta document.write("Frost na jua.".concat("Siku ya ajabu.")) itaonyesha laini Frost na jua kwenye skrini ya kivinjari. Ni siku nzuri sana.

Sintaksia : kitu njia fasta Matokeo: thamani ya kamba

Njia .imerekebishwa() hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo … fasta

. Hakuna kuangalia ili kuona kama mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika kwa kushirikiana na njia za hati.andika na hati.writeln ili kuonyesha maandishi katika fonti ya teletype. Kwa mfano, taarifa document.write("My text".fixed()) itaonyesha kamba Maandishi Yangu kwenye skrini ya kivinjari.

Sintaksia : kitu njia ya fontcolor Hoja: .fontcolor(rangi) rangi Matokeo: thamani ya kamba

Njia usemi wa kamba hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo .fontcolor(rangi)>…. Hakuna kuangalia ili kuona ikiwa mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumiwa kwa kushirikiana na njia za hati.andika na document.writeln ili kuonyesha maandishi katika rangi maalum. Kwa mfano, taarifa document.write("My text".fontcolor("red") itaonyesha mfuatano wa maandishi Yangu kwenye skrini ya kivinjari.

njia ya fontsize

Sintaksia : kitu.fontsize( ukubwa) Hoja: ukubwa usemi wa nambari Matokeo: thamani ya kamba

Njia fontsize hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona kama mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika kwa kushirikiana na njia za hati.write na document.writeln ili kuonyesha maandishi katika fonti. ukubwa uliopewa. Kwa mfano, taarifa document.write("My text".fontsize(5)) itaonyesha kamba Maandishi Yangu kwenye skrini ya kivinjari.

kutoka kwa njia yaCharCode

Sintaksia : String.fromCharCode( kanuni 1, kanuni2, …, kanuniN) Hoja: kanuni 1, kanuni2, …, kanuniN maneno ya nambari Matokeo: thamani ya kamba

Njia kutoka kwaCharCode huunda kamba mpya (lakini sio kitu cha kamba) ambacho ni mshikamano Wahusika wa Unicode na kanuni kanuni 1, kanuni2, …, kanuniN.

Hii mbinu tuli kitu Kamba, kwa hivyo hauitaji kuunda kitu cha kamba ili kuifikia. Mfano:

Var s = String.fromCharCode(65, 66, 67); // s ni sawa na "ABC"

indexOf mbinu

Sintaksia : kitu.indexOf( kamba ndogo[,Anza]?) Hoja: kamba ndogo usemi wowote wa kamba Anza usemi wowote wa nambari Matokeo: thamani ya nambari

Njia indexOf inarudisha nafasi ya kwanza masharti madogo katika thamani ya mfuatano wa awali kitu. kitu Anza Anza Anza Anza zaidi ya kitu kitu

Utafutaji unafanywa kutoka kushoto kwenda kulia. Vinginevyo, njia hii ni sawa na njia. Mfano ufuatao huhesabu idadi ya matukio ya muundo wa kamba ndogo katika kamba str .

Utendakazi hutokea(str, muundo) ( var pos = str.indexOf(muundo); kwa (var count = 0; pos != -1; count++) pos = str.indexOf(muundo, pos + pattern.length); hesabu ya kurudi ;)

Mbinu ya Italiki

Sintaksia : kitu.italiki() Matokeo: thamani ya kamba

Njia italiki hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona ikiwa mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika pamoja na mbinu za document.write na document.writeln ili kuonyesha maandishi katika fonti ya italiki. Kwa mfano, opereta document.write("Nakala yangu".italics()) itaonyesha mstari Maandishi yangu .

njia ya mwishoIndexOf

Sintaksia : kitu.lastIndexOf( kamba ndogo[,Anza]?) Hoja: kamba ndogo usemi wowote wa kamba Anza usemi wowote wa nambari Matokeo: thamani ya nambari

Njia LastIndexOf inarudi nafasi ya mwisho masharti madogo katika thamani ya mfuatano wa awali kitu kitu. -1. Anza Ikiwa hoja ya hiari imetolewa Anza, kisha utafutaji unafanywa kuanzia nafasi Anza; ikiwa sio, basi kutoka kwa nafasi 0, yaani kutoka kwa tabia ya kwanza ya mstari. Kama Anza zaidi ya kitu hasi, basi inachukuliwa sawa na sifuri; Kama kitu. -1, basi inachukuliwa sawa

. -1.

Ikiwa kitu hakina mfuatano huu mdogo, basi thamani -1 inarejeshwa.

Utafutaji unafanywa kutoka kulia kwenda kushoto. Vinginevyo, njia hii ni sawa na njia. Mfano:

Sintaksia : kitu Var n = "Nyangumi mweupe".lastIndexOf("nyangumi"); // n sawa na 6 njia ya kiungo) Hoja: njia ya kiungo usemi wowote wa kamba Matokeo: thamani ya kamba

Njia kiungo hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika vitambulisho vya uri"> .Hakuna kuangalia ili kuona kama mfuatano wa chanzo ulikuwa tayari umefungwa ndani ya lebo hizi.Njia hii inatumika pamoja na mbinu za document.write na document.writeln ili kuunda kiungo katika hati ya HTML na iliyobainishwa. njia ya kiungo. Kwa mfano, taarifa document.write("My Text".link("#Bookmark")) ni sawa na taarifa document.write("Nakala Yangu") .

localeLinganisha mbinu

Sintaksia : kitu.localeLinganisha( mstari 0) Hoja: mstari 0 usemi wowote wa kamba Matokeo: nambari

Msaada

Njia localeLinganisha inalinganisha masharti mawili kwa kuzingatia mipangilio ya kitaifa ya mfumo wa uendeshaji. Inarudi -1 ikiwa thamani ya kwanza kitu kidogo mistari 1, +1 ikiwa ni kubwa zaidi mistari 1, na 0 ikiwa maadili haya ni sawa.

mbinu ya mechi

Sintaksia : kitu.mechi( Regvyr) Hoja: Regvyr Matokeo: safu ya nyuzi

Njia mechi Regvyr kitu. Matokeo ya mechi ni safu ya mifuatano iliyopatikana au null, ikiwa hakuna mechi. Ambapo:

  • Kama Regvyr haina chaguo utafutaji wa kimataifa, basi njia inatekelezwa Regvyr.kutekeleza(kitu) na matokeo yake yanarudishwa. Safu inayotokana ina mfuatano mdogo uliopatikana katika kipengele chenye faharasa 0, na vipengee vilivyosalia vina vijisehemu vidogo vinavyolingana na misemo midogo. Regvyr, iliyoambatanishwa kwenye mabano.
  • Kama Regvyr ina chaguo la utafutaji wa kimataifa, kisha mbinu Regvyr.kutekeleza(kitu) inatekelezwa mradi tu mechi zinapatikana. Ikiwa n ni idadi ya mechi zilizopatikana, basi matokeo ni safu ya vipengele vya n ambavyo vina vifungu vidogo vilivyopatikana. Mali Regvyr.LastIndex ilitoa nambari ya nafasi katika mfuatano wa chanzo unaoelekeza kwa herufi ya kwanza baada ya mechi ya mwisho kupatikana, au 0 ikiwa hakuna ulinganifu uliopatikana.

Ikumbukwe kwamba mbinu Regvyr.kutekeleza hubadilisha sifa za kitu Regvyr. Mifano:

njia mbadala

Sintaksia : kitu.badilisha( Regvyr,mstari) kitu.badilisha( Regvyr,kazi) Hoja: Regvyr usemi wa mfuatano wa kawaida wa usemi kazi jina la chaguo la kukokotoa au tangazo la chaguo la kukokotoa Matokeo: mstari mpya

Njia badala inalingana na usemi wa kawaida Regvyr yenye mfuatano wa thamani ya awali kitu na kubadilisha mifuatano iliyopatikana na mifuatano mingine. Matokeo yake ni kamba mpya, ambayo ni nakala ya kamba ya asili na uingizwaji uliofanywa. Mbinu ya uingizwaji imedhamiriwa na chaguo la utafutaji wa kimataifa katika Regvyr na aina ya hoja ya pili.

Kama Regvyr haina chaguo la utafutaji wa kimataifa, basi utafutaji unafanywa kwa kamba ndogo ya kwanza inayolingana Regvyr na inabadilishwa. Kama Regvyr ina chaguo la utafutaji la kimataifa, kisha mifuatano yote inayolingana Regvyr, na hubadilishwa.

mstari, kisha kila kamba ndogo inayopatikana inabadilishwa nayo. Katika kesi hii, mstari unaweza kuwa na mali zifuatazo za kitu RegExp, kama $1 , , $9 , lastMatch , lastParen , leftContext na rightContext . Kwa mfano, opereta document.write("Tufaha ladha, tufaha za juisi.".replace(/apples/g, "pears")) itaonyesha mstari Pears za ladha, pears za juisi kwenye skrini ya kivinjari.

Ikiwa hoja ya pili ni kazi, kisha kila kamba ndogo inayopatikana inabadilishwa kwa kuita chaguo hili la kukokotoa. Chaguo la kukokotoa lina hoja zifuatazo. Hoja ya kwanza ni kamba ndogo iliyopatikana, ikifuatiwa na hoja zinazolingana na usemi mdogo wote Regvyr, iliyoambatanishwa katika mabano, hoja iliyotangulia ni nafasi ya mfuatano mdogo uliopatikana katika mfuatano wa chanzo, unaohesabu kutoka sifuri, na hoja ya mwisho ni mfuatano wa chanzo wenyewe. Mfano ufuatao unaonyesha jinsi ya kutumia njia badala unaweza kuandika kitendakazi kubadilisha Fahrenheit hadi Celsius. scenario iliyotolewa

Kazi myfunc($0,$1) ( rudisha (($1-32) * 5 / 9) + "C"; ) kitendakazi f2c(x) ( var s = String(x); rudisha s.replace(/(\d+() \.\d*)?)F\b/, myfunc ) document.write(f2c("212F"));

itaonyesha mstari wa 100C kwenye skrini ya kivinjari.

Tafadhali kumbuka kuwa njia hii inabadilisha mali ya kitu Regvyr.

Badilisha mfano

Kubadilisha matukio yote ya kamba ndogo katika mfuatano

Mara nyingi hutokea kwamba unahitaji kubadilisha matukio yote ya kamba moja na kamba nyingine:

Var str = "foobarfoobar"; str=str.replace(/foo/g,"xxx"); // matokeo yatakuwa str = "xxxbarxxxbar";

njia ya utafutaji

Sintaksia : kitu.tafuta( Regvyr) Hoja: Regvyr usemi wowote wa kawaida Matokeo: usemi wa nambari

Njia tafuta inalingana na usemi wa kawaida Regvyr yenye mfuatano wa thamani ya awali kitu. Matokeo ya mechi ni nafasi ya safu ndogo ya kwanza iliyopatikana, ikihesabu kutoka sifuri, au -1 ikiwa hakuna mechi. Wakati huo huo, chaguo la utafutaji wa kimataifa katika Regvyr inapuuzwa, na mali Regvyr usibadilike. Mifano:

mbinu ya kipande

Sintaksia : kitu.kipande( Anza [,mwisho]?) Hoja: Anza Na mwisho maneno yoyote ya nambari Matokeo: mstari mpya

Njia kipande kitu, kutoka nafasi Anza kwa nafasi mwisho, bila kuijumuisha. Kama mwisho Anza na hadi mwisho wa mstari wa asili.

Nafasi za herufi za mstari zimehesabiwa kutoka sifuri hadi kitu. -1. Anza kitu. +Anza Ikiwa thamani mwisho. Ikiwa thamani kitu. +mwisho hasi, basi inabadilishwa na

. Kwa maneno mengine, hoja hasi huchukuliwa kama punguzo kutoka mwisho wa kamba.

Matokeo yake ni thamani ya mfuatano, si kitu cha mfuatano. Kwa mfano, taarifa document.write("ABCDEF".slice(2,-1)) itachapisha mfuatano wa CDE kwenye skrini ya kivinjari.

Sintaksia : kitu njia ndogo Matokeo: thamani ya kamba

Njia .ndogo() hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona kama mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika kwa kushirikiana na njia za hati.andika na document.writeln ili kuonyesha maandishi ndogo chapa ndogo

. Kwa mfano, taarifa document.write("My text".small()) itaonyesha kamba Maandishi yangu kwenye skrini ya kivinjari.

Sintaksia : kitu njia ya mgawanyiko .mgawanyiko( [,mgawanyiko]?) Hoja: .mgawanyiko( nambari mgawanyiko usemi wa nambari Matokeo kamba au usemi wa kawaida : safu ya kamba (kitu)

Njia Safu mgawanyiko kitu kwa safu ya kamba ndogo na kuirudisha. Mgawanyiko katika substrings unafanywa kama ifuatavyo. Mfuatano wa chanzo huchanganuliwa kutoka kushoto kwenda kulia kutafuta mgawanyiko. Mara tu inapopatikana, kamba ndogo kutoka mwisho wa delimiter ya awali (au kutoka mwanzo wa mstari ikiwa hii ni tukio la kwanza la delimiter) hadi mwanzo wa moja iliyopatikana huongezwa kwa safu ndogo. Kwa hivyo, kitenganishi yenyewe haionekani katika maandishi ya safu ndogo.

Hoja ya hiari mgawanyiko inabainisha ukubwa wa juu unaowezekana wa safu inayotokana. Ikiwa imeelezwa, basi baada ya uteuzi nambari Njia ya mfuatano mdogo huondoka hata kama uchanganuzi wa mfuatano wa asili haujakamilika.

Delimiter inaweza kubainishwa kama mfuatano au kama usemi wa kawaida. Kuna matukio kadhaa ambayo yanahitaji kuzingatia maalum:

Mfano ufuatao unatumia usemi wa kawaida kubainisha Lebo za HTML kama kitenganishi. Opereta

itaonyesha mstari wa Maandishi, herufi nzito na italiki kwenye skrini ya kivinjari.

mbinu ya mgomo

Sintaksia : kitu.mgomo() Matokeo: thamani ya kamba

Njia mgomo hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona ikiwa mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika pamoja na mbinu za document.write na document.writeln ili kuonyesha maandishi katika fonti ya kupiga. Kwa mfano, taarifa document.write("My text".strike()) itaonyesha kamba Maandishi Yangu kwenye skrini ya kivinjari.

njia ndogo

Sintaksia : kitu.ndogo() Matokeo: thamani ya kamba

Njia ndogo hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona ikiwa mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika pamoja na mbinu za document.write na document.writeln ili kuonyesha maandishi kama hati ndogo. Kwa mfano, taarifa document.write("My text".sub()) itaonyesha kamba Maandishi yangu kwenye skrini ya kivinjari.

njia ya substr

Sintaksia : kitu.substr( nafasi [,urefu]?) Hoja: nafasi Na urefu maneno ya nambari Matokeo: thamani ya kamba

Njia sehemu ndogo hurejesha mfuatano mdogo wa thamani ya awali ya mfuatano kitu kuanzia na hili nafasi na zenye urefu wahusika. Kama urefu haijabainishwa, kisha kamba ndogo inarudishwa kuanzia ile iliyotolewa nafasi na hadi mwisho wa mstari wa asili. Kama urefu ni hasi au sifuri, mfuatano tupu unarudishwa.

Nafasi za herufi za mstari zimehesabiwa kutoka sifuri hadi kitu. -1. nafasi Kama kitu kubwa kuliko au sawa na nafasi., kisha kamba tupu inarudishwa. Kama kitu.+nafasi.

ni hasi, basi inatafsiriwa kama kukabiliana kutoka mwisho wa mstari, yaani, inabadilishwa na Kumbuka nafasi. Kama ni hasi, basi Internet Explorer

kwa makosa huibadilisha na 0, kwa hivyo kwa sababu za utangamano chaguo hili halipaswi kutumiwa.

Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f", lakini katika MSIE: "abcdef"

Sintaksia : kitu njia ya substring Anza [,mwisho]) Hoja: Anza Na mwisho maneno ya nambari Matokeo: thamani ya kamba

Njia .mfuatano mdogo( hurejesha mfuatano mdogo wa thamani ya awali ya mfuatano kitu, kutoka nafasi Anza kwa nafasi mwisho, bila kuijumuisha. Kama mwisho kamba ndogo Anza na hadi mwisho wa mstari wa asili.

Nafasi za herufi za mstari zimehesabiwa kutoka sifuri hadi kitu haijabainishwa, kisha kamba ndogo inarudishwa, kuanzia nafasi . Nafasi za herufi za mstari zimehesabiwa kutoka sifuri hadi hubadilishwa na sifuri; ikiwa hoja ni kubwa kuliko urefu wa kamba ya asili, basi inabadilishwa nayo. Kama Anza zaidi mwisho, kisha wanabadilisha mahali. Kama Anza sawa mwisho, kisha kamba tupu inarudishwa.

Matokeo yake ni thamani ya mfuatano, si kitu cha mfuatano. Mifano:

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

njia ya sup

Sintaksia : kitu.sup() Matokeo: thamani ya kamba

Njia sup hurejesha mfuatano unaojumuisha thamani ya mfuatano wa awali kitu, iliyoambatanishwa katika lebo …. Hakuna kuangalia ili kuona ikiwa mfuatano wa asili ulikuwa tayari umefungwa kwenye lebo hizi. Njia hii inatumika pamoja na mbinu za document.write na document.writeln ili kuonyesha maandishi kama maandishi makuu. Kwa mfano, taarifa document.write("My text".sup()) itaonyesha kamba Maandishi yangu kwenye skrini ya kivinjari.

toLocaleLowerCase Method

Sintaksia : kitu.toLocaleLowerCase() Matokeo: mstari mpya

Msaada: Internet Explorer Inatumika kutoka toleo la 5.5. Netscape Navigator Haitumiki.

Njia kwaLocaleLowerCase inarudisha kamba mpya ambayo herufi zote za mfuatano wa asili hubadilishwa na herufi ndogo, kwa kuzingatia mipangilio ya eneo la mfumo wa uendeshaji. Herufi zilizobaki za mfuatano wa asili hazibadilishwa. Kamba ya asili inabaki sawa. Kwa kawaida njia hii inarudisha matokeo sawa na; tofauti inawezekana tu ikiwa usimbaji wa lugha unakinzana na sheria za Unicode za kubadilisha herufi kubwa hadi ndogo.

toLocaleUpperCase mbinu

Sintaksia : kitu.toLocaleUpperCase() Matokeo: mstari mpya

Msaada: Internet Explorer Inatumika kutoka toleo la 5.5. Netscape Navigator Haitumiki.

Njia kwaLocaleUpperCase inarudisha kamba mpya ambayo herufi zote za mfuatano wa asili hubadilishwa na herufi kubwa, kwa kuzingatia mipangilio ya eneo la mfumo wa uendeshaji. Herufi zilizobaki za mfuatano wa asili hazibadilishwa. Kamba ya asili inabaki sawa. Kwa kawaida njia hii inarudisha matokeo sawa na; tofauti inawezekana tu ikiwa usimbaji wa lugha unakinzana na sheria za Unicode za kubadilisha herufi ndogo hadi herufi kubwa.

toLowerCase mbinu

Sintaksia : kitu.toLowerCase() Matokeo: mstari mpya

Njia kwaLowerCase hurejesha mfuatano mpya na herufi zote za mfuatano wa asili zikibadilishwa na herufi ndogo. Herufi zilizobaki za mfuatano wa asili hazibadilishwa. Kamba ya asili inabaki sawa. Kwa mfano, taarifa document.write("String object".toLowerCase()) itaonyesha mfuatano. kitu cha kamba.

Mfuatano ni mfuatano wa herufi moja au zaidi ambayo inaweza kuwa na herufi, nambari na alama nyingine. Katika JavaScript, ni aina rahisi zaidi ya data isiyoweza kubadilika.

Mifuatano hukuruhusu kuonyesha na kudhibiti maandishi, na maandishi ndio njia kuu ya kuwasiliana na kusambaza habari kwenye wavuti. Kwa hiyo, masharti ni mojawapo ya dhana kuu za programu.

Mafunzo haya yatakufundisha jinsi ya kuunda na kutazama matokeo ya kamba, kubatilisha mifuatano na kuzihifadhi katika vigeu. Pia utajifunza kuhusu sheria za kutumia alama za kunukuu, apostrofi, na mipito. mstari mpya katika JavaScript.

Kuunda na kutazama kamba

Kuna njia tatu za kuunda mfuatano katika JavaScript: zinaweza kuandikwa ndani ya nukuu moja ('), nukuu mbili ('), au vijiti (`). Ingawa hati wakati mwingine huwa na aina zote tatu za mifuatano, ni aina moja tu ya alama ya kunukuu ndiyo itumike ndani ya mstari mmoja.

Kamba zilizonukuliwa moja na mbili kimsingi ni kitu kimoja. Hakuna kanuni kuhusu matumizi ya aina moja ya alama za nukuu au nyingine, lakini kwa ujumla inashauriwa kutumia aina moja kwa uthabiti katika hati za programu.

"Kamba hii hutumia nukuu moja.";
"Kamba hii hutumia nukuu mbili.";

Tatu na njia mpya zaidi kuunda kamba inaitwa template halisi. Maandishi ya kiolezo yameandikwa ndani ya nukuu za nyuma (pia huitwa tiki) na hufanya kazi kwa njia sawa na masharti ya kawaida Pamoja na kadhaa kazi za ziada ambayo tutaangalia katika makala hii.

`Kamba hii inatumia vijiti.`;

Njia rahisi zaidi ya kutazama matokeo ya kamba ni kuiingiza kwenye koni kwa kutumia console.log().

console.log ("Hii ni kamba katika console.");
Hii ni kamba kwenye koni.

Kwa wengine kwa njia rahisi kuomba thamani ya kamba ni dirisha ibukizi kwenye kivinjari ambalo linaweza kuitwa kwa kutumia alert():

alert("Hii ni kamba katika tahadhari.");

Mstari huu utafungua dirisha la arifa kwenye kivinjari na maandishi yafuatayo:

Huu ni mfuatano katika arifa.

Njia ya alert() hutumiwa mara chache kwa sababu arifa zinahitaji kufungwa kila mara.

Kuhifadhi Kamba katika Vigezo

Vigezo katika JavaScript vinaitwa vyombo vinavyohifadhi thamani kwa kutumia maneno muhimu var, const au let. Kamba inaweza kupewa vigezo.

const newString = "Hii ni kamba iliyopewa kigezo.";

Tofauti ya newString sasa ina mfuatano ambao unaweza kurejelewa na kuonyeshwa kwa kutumia kiweko.

console.log(newString);
Huu ni mfuatano uliopewa kigezo.

Kwa kugawa mifuatano kwa vigeu, sio lazima uandike tena kamba kila wakati unapotaka kuitoa, na kuifanya iwe rahisi kufanya kazi na nyuzi ndani ya programu.

Kuunganishwa kwa kamba

Uunganishaji wa kamba ni mchakato wa kuchanganya nyuzi mbili au zaidi katika mfuatano mmoja mpya. Uunganishaji unafanywa kwa kutumia + operator. Alama ya + pia ni mwendeshaji wa nyongeza katika shughuli za hisabati.

Kwa mfano, jaribu kuunganisha kamba mbili fupi:

"Bahari" + "farasi";
Seahorse

Muunganisho huunganisha mwisho wa mfuatano mmoja hadi mwanzo wa mfuatano mwingine bila kuweka nafasi. Ili kuwa na nafasi kati ya mistari, lazima iongezwe hadi mwisho wa mstari wa kwanza.

"Bahari" + "farasi";
Farasi wa baharini

Muunganisho hukuruhusu kubatilisha masharti na vigeuzo vyenye maadili ya mfuatano.



const favePoem = "Shairi ninalolipenda zaidi ni " + shairi +" la " + mwandishi".";

Mifuatano mipya inayotokana na kuunganishwa inaweza kutumika katika programu.

Vigezo vilivyo na maandishi halisi ya kiolezo

Mojawapo ya sifa za maandishi ya kiolezo ni uwezo wa kujumuisha misemo na viambishi katika mfuatano. Badala ya upatanisho, unaweza kutumia $() syntax kuingiza kitofauti.

const poem = "The Wide Ocean";
const author = "Pablo Neruda";
const favePoem = `Shairi ninalolipenda zaidi ni $(shairi) la $(mwandishi).`;
Shairi ninalolipenda zaidi ni The Wide Ocean na Pablo Neruda.

Syntax hii hukuruhusu kupata matokeo sawa. Kiolezo halisi hurahisisha uunganishaji wa kamba.

Mfuatano halisi na maadili ya mfuatano

Kama unaweza kuwa umegundua, mifuatano yote imeandikwa kwa nukuu au nukuu za nyuma, lakini inapotoka, kamba haina nukuu.

"Nje ya Bahari";
Nje ya Bahari

Mfuatano halisi ni mfuatano unavyoonekana ndani msimbo wa chanzo, ikijumuisha nukuu. Thamani ya kamba ni kamba inayoonekana kwenye pato (bila nukuu).

Katika mfano huu, "Nyimbo ya Bahari" ni kamba halisi, na Zaidi ya Bahari ni thamani ya kamba.

Kupitia nukuu na viapostrofi kwa mifuatano

Kwa sababu alama za nukuu hutumiwa kuashiria mifuatano, kuna sheria maalum za kutumia viapostrofi na alama za kunukuu katika mifuatano. Kwa mfano, JavaScript itafasiri apostrofi katikati ya mfuatano ulionukuliwa kama nukuu moja ya kufunga, na kujaribu kusoma mfuatano uliosalia uliokusudiwa kama msimbo.

Fikiria mfano huu:

const brokenString = "Mimi" ni kamba iliyokatika";
console.log(brokenString);
haijulikani: ishara isiyotarajiwa (1:24)

Kitu kimoja kinatokea ikiwa utajaribu kutumia nukuu mara mbili ndani ya kamba iliyonukuliwa mara mbili. Mkalimani hataona tofauti.

Ili kuzuia makosa kama haya, unaweza kutumia:

  • Sintaksia ya mfuatano tofauti.
  • Alama za kutoroka.
  • Kiolezo halisi.

Sintaksia ya kamba mbadala

Njia rahisi ya kuzunguka shida hii ni kutumia syntax tofauti na ile unayotumia kwenye hati. Kwa mfano, weka kamba na viapostrofi katika nukuu mbili:

"Tunatumia kiapostrofi kwa usalama katika nukuu mbili."

Mistari ya nukuu inaweza kuchukuliwa kutoka nukuu moja:

"Kisha akasema, "Habari, Ulimwengu!";

Kwa kuchanganya nukuu moja na mbili, unaweza kudhibiti uonyeshaji wa nukuu na viapostrofi ndani ya mifuatano. Walakini, hii itaathiri uthabiti wa sintaksia katika faili za mradi, na kuzifanya kuwa ngumu kudumisha.

Escape character \

Kwa kutumia backslash, JavaScript haitafasiri nukuu kama nukuu za kufunga.

Mchanganyiko \' utachukuliwa kila wakati kama kiapostrofi na \" kama nukuu mbili, hakuna isipokuwa.

Hii inaruhusu apostrofi kutumika katika mifuatano iliyonukuliwa moja na manukuu kutumika katika mifuatano iliyonukuliwa mara mbili.

"Tunatumia "apostrofi" kwa usalama katika nukuu moja.\"
"Kisha akasema, \"Habari, Ulimwengu!\"";

Njia hii inaonekana chafu kidogo. Lakini ni muhimu ikiwa mstari huo huo una apostrophe na nukuu mbili.

Kiolezo halisi

Tafsiri halisi za kiolezo hufafanuliwa kwa nukuu za nyuma, kwa hivyo nukuu mbili na apostrofi zinaweza kutumika kwa usalama bila upotoshaji wowote wa ziada.

`Tunatumia "apostrofi na "nukuu" kwa usalama katika kiolezo halisi.`;

Violezo halisi sio tu kwamba huepuka makosa wakati wa kuonyesha manukuu na apostrofi, lakini pia hutoa usaidizi kwa usemi wa ndani na vizuizi vya mistari mingi, kama ilivyojadiliwa katika sehemu inayofuata.

Mistari mingi na laini mpya

Katika hali zingine kuna haja ya kuingiza herufi mpya au mapumziko ya mstari. Vibambo vya kutoroka \n au \r vitasaidia kuingiza laini mpya kwenye utoaji wa msimbo.

const threeLines = "Hii ni kamba\nthat inavuka\mistari mitatu.";
Hii ni kamba
ambayo inazunguka
mistari mitatu.

Hii itagawanya pato katika mistari mingi. Walakini, ikiwa nambari ina mistari mirefu, watakuwa vigumu kufanya kazi nao na kusoma. Ili kuonyesha mfuatano mmoja kwenye mistari mingi, tumia kiendeshaji cha kuunganisha.

const threeLines = "Hii ni kamba\n" +
"ambayo inazunguka\n" +
"mistari mitatu.";

Unaweza pia kuepuka mstari mpya kwa kutumia herufi \.

const threeLines = "Hii ni kamba\n\
inayozunguka\n\
mistari mitatu.";

ni hasi, basi inatafsiriwa kama kukabiliana kutoka mwisho wa mstari, yaani, inabadilishwa na: Njia hii haipendekezwi kwani inaweza kusababisha matatizo katika baadhi ya vivinjari.

Ili kufanya msimbo wako usomeke, tumia maandishi ya kiolezo. Hii huondoa mshikamano na wahusika kutoroka.

const threeLines = `Hii ni kamba
ambayo inazunguka
mistari mitatu.`;
Hii ni kamba
ambayo inazunguka
mistari mitatu.

Kwa kuwa misingi tofauti ya nambari inaweza kutumia viwango tofauti, ni muhimu kujua njia zote za kuvunja kwenye mstari mpya na kuunda masharti ya mstari mbalimbali.

Hitimisho

Sasa unajua kanuni za msingi za kufanya kazi na mifuatano katika JavaScript, unaweza kuunda mifuatano na maandishi halisi ya kiolezo, kufanya mshikamano na kupitisha, na kugawa masharti kwa vigeu.

Lebo:

Nakala hii itazungumza juu ya nini masharti katika JavaScript na mbinu za kufanya kazi nao.

Mifuatano ni vikundi vya wahusika, kama vile "JavaScript", "Hujambo ulimwengu!" ", "http://www.quirksmode.org" au hata "14". Ili kupanga katika JavaScript, unahitaji kujua ni kamba gani na jinsi ya kufanya kazi nazo, kwani utahitaji kuzitumia mara nyingi sana. Vitu vingi, kama vile URL za ukurasa, thamani ya CSS-vigezo na vipengele vya ingizo vya umbo ni mifuatano yote.

Kwanza nitajaribu kueleza kufanya kazi na nyuzi, basi tofauti kati ya JavaScript. Hata kama una uzoefu wa programu katika lugha nyingine, soma sehemu hii kwa makini. Mwishoni nitazungumza juu ya muhimu zaidi masharti katika JavaScript.

Misingi ya Kamba

Hebu tuangalie misingi ya kufanya kazi na masharti katika JavaScript.

Kwa kutumia nukuu

Unapotangaza masharti katika JavaScript au fanya kazi nao, ziambatanishe kila wakati kwa nukuu moja au mbili. Hii inaambia kivinjari kuwa inashughulika na kamba. Usichanganye matumizi ya manukuu katika msimbo wako; ukianzisha mstari kwa nukuu moja na kumalizia na nukuu mara mbili, JavaScript haitaelewa ulichomaanisha. Kawaida, mimi hutumia nukuu moja wakati wa kufanya kazi na kamba, kwani nilichagua kutumia nukuu mbili za HTML na nukuu moja za JavaScript. Bila shaka, unaweza kufanya kila kitu tofauti, lakini mimi kukushauri kuja na utawala sawa na wewe mwenyewe.

Hebu fikiria mistari miwili ambayo tutatumia katika makala yote:

Var a = "Hujambo ulimwengu!"; var b = "Mimi ni mwanafunzi.";

Sasa tumetangaza vigezo viwili, "a" na "b", na kuwapa maadili ya kamba. Baada ya hapo tunaweza kufanya kazi nao, lakini kwanza tutatue tatizo moja: tuseme niliandika:

Var b = "Mimi" ni mwanafunzi.";

Mfuatano huo una nukuu moja ya ziada, na JavaScript inadhani kwamba mfuatano umekamilika na unaonyesha ujumbe wa makosa bila kuelewa kinachofuata. Kwa hivyo unahitaji kutoroka quote, kukiambia kivinjari kukichukulia kama mhusika na si kama mstari unaomalizia. Hii inafanywa kwa kutumia kurudi nyuma kabla ya nukuu:

Var b = "Mimi\"m mwanafunzi.";

Kumbuka kuwa unaweza kuingiza nukuu mara mbili kwenye kamba bila kuzikwepa. Kwa kuwa unatumia nukuu moja kuanza na kumaliza kamba,

Var b = "Mimi\"m "mwanafunzi".";

kutambuliwa bila matatizo. Nukuu mara mbili huchukuliwa kiotomatiki kama sehemu za kamba badala ya amri.

Vitendaji vilivyojumuishwa

Mara tu kamba zimefafanuliwa, unaweza kuanza kuzitumia. Kwa mfano, unaweza kuunganisha kamba moja hadi nyingine, au chukua kamba ndogo kutoka kwa kamba "b" inayojumuisha herufi ya pili hadi ya nne na uziweke katikati ya safu "a", au ubaini ni herufi gani ni ya kumi na mbili katika "a", ni herufi ngapi katika "b". ”, iwe zina herufi “q” n.k.

Ili kufanya hivyo, unaweza kutumia vitendakazi vilivyojengewa ndani ambavyo JavaScript hufafanua awali kwa kila mstari. Mmoja wao, "urefu," anarudi urefu wa kamba. Hiyo ni, ikiwa unataka kuhesabu urefu wa "Hujambo ulimwengu!", andika:

Var c = "Hujambo ulimwengu!".urefu;

Hapo awali, tuliweka kamba hii kwa kutofautiana "a". Kwa hivyo, umefanya kutofautisha "a" kuwa kamba, kwa hivyo kazi ya "urefu" inaweza pia kutumika kwake, na operesheni ifuatayo itatoa matokeo sawa:

Var c = a.urefu;

Kumbuka kwamba unaweza kutumia "urefu" kwa kamba yoyote - ni kazi iliyojengwa. Unaweza kuhesabu urefu wa kamba yoyote, kwa mfano: "location.href" au "document.title" au iliyotangazwa na wewe.

Hapa chini nitawasilisha orodha ya njia za kawaida za kujengwa na mali.

Kamba na nambari

Baadhi ya lugha za programu zinahitaji uonyeshe kama kubadilika kwa nambari au kamba kabla ya kufanya kitu kingine chochote nayo. JavaScript ni rahisi zaidi inahusu tofauti kati ya masharti na nambari. Kwa kweli, unaweza kuongeza nambari na kamba:

Var c = a + 12;

Katika baadhi ya lugha za programu, usindikaji wa kamba kama hiyo itasababisha kosa. Baada ya yote, "a" ni kamba, na "12" ni nambari. Walakini, JavaScript inajaribu kusuluhisha shida kwa kudhani kuwa "12" pia ni kamba. Hivyo "c" inakuwa "Hujambo ulimwengu!12". Hii ina maana kwamba ikiwa unatumia "+" na kamba na nambari, JavaScript inajaribu kufanya nambari kuwa kamba. Ikiwa unatumia shughuli za hisabati kwa kamba, JavaScript inajaribu kuigeuza kuwa nambari. Ikiwa haiwezekani kubadilisha mfuatano kuwa nambari (kwa mfano, kwa sababu ya uwepo wa herufi ndani yake), JavaScript inarudisha NaN - "Sio Nambari - sio nambari."

Mwishowe, katika JavaScript hakuna tofauti kati ya nambari kamili na nambari za sehemu zinazoelea.

Nambari → kamba

Kwa ubadilishaji nambari hadi kamba ingia:

Var c = (16 * 24) / 49 + 12; d = c.toString();

Kisha unaweza kutumia njia zote za kamba kwa "d" na "c" bado ina nambari.

Kamba → nambari

Ikiwa ungependa kubadilisha mfuatano kuwa nambari, kwanza hakikisha kuwa ina vibambo 0-9 pekee. Ili kufanya hivyo mimi huzidisha tu kamba kwa 1.

Var c = "1234"; d = c * 1;

Kwa kuwa kuzidisha hufanya kazi na nambari pekee, JavaScript hugeuza mfuatano kuwa nambari ikiwezekana. Vinginevyo, matokeo ni NaN.

Kumbuka kwamba ikiwa utaandika:

Var c = "1234"; d = c + 0;

Matokeo yatakuwa "12340" kwa sababu JavaScript hutumia "+" kubatilisha mifuatano badala ya kuiongeza.

Tabia na Mbinu za Kamba

Kwa hivyo tunaweza kufanya nini na kamba? Muungano ni kesi maalum, lakini amri zingine zote (mbinu) zinaweza kutumika na kamba yoyote kwa kutumia ujenzi:

String_name.method();

Orodha ya mbinu za JavaScript zilizojengewa ndani za kufanya kazi na mifuatano

Concatenation - kuunganisha masharti

Kwanza, unaweza kubatilisha kamba kwa kuziongeza pamoja, kama hii:

Hati.andika(a + b);

matokeo yatakuwa: "Hujambo ulimwengu! Mimi ni mwanafunzi." " Lakini bila shaka unataka kuwe na nafasi kati ya sentensi. Ili kufanya hivyo, andika msimbo kama ifuatavyo:

Hati.andika(a + "" + b);

Kwa hivyo tutaunganisha kamba tatu: "a", """" (nafasi moja) na "b", na kusababisha: "Halo ulimwengu!" Mimi ni mwanafunzi. »

Unaweza hata kutumia nambari au mahesabu, kwa mfano:

Hati.andika (a + 3 * 3 + b);

Sasa tunaambatanisha kamba "a", kisha matokeo ya usemi "3 * 3", inayozingatiwa kama kamba, na "b", kupata: "Hujambo ulimwengu!9 Mimi ni mwanafunzi. »

Unahitaji kuwa mwangalifu wakati wa kutumia nyongeza. Timu

Hati.andika(a + 3 + 3 + b);

huunganisha mifuatano 4: "a", "3", "3" na "b" kwa sababu "+" ndani kwa kesi hii humaanisha “kuunganisha mistari”, si “kuongeza” na matokeo yake ni: “Hujambo ulimwengu!33 Mimi ni mwanafunzi. " Ikiwa unataka kuongeza 3 na 3 kabla ya kuunda kamba, tumia mabano.

Hati.andika(a + (3 + 3) + b);

Usemi huu huunganisha mfuatano “a”, tokeo la usemi “3 + 3” na “b”, na kusababisha: “Hujambo ulimwengu!6 Mimi ni mwanafunzi. "

indexOf

Mojawapo ya njia zinazotumiwa sana za kujengwa ni "indexOf". Kila herufi ina faharisi yake iliyo na nambari ya nafasi yake kwenye mstari. Kumbuka kwamba faharisi ya herufi ya kwanza ni 0, ya pili ni 1, n.k. Kwa hivyo, faharasa ya herufi "w" kwenye kamba "a" ni 6.

Kwa kutumia "indexOf" tunaweza kutoa faharisi ya mhusika. Andika ".indexOf(" ")" baada ya jina la mstari na uweke herufi unayotafuta kati ya nukuu. Kwa mfano:

Var a = "Hujambo ulimwengu!"; document.write(a.indexOf("w"));

itarudi 6 . Ikiwa tabia hutokea mara nyingi, njia hii inarudi tukio la kwanza. Hiyo ni

Document.write(a.indexOf("o"));

itarudi 4 kwa sababu ni faharisi ya "o" ya kwanza kwenye kamba.

Unaweza pia kutafuta mchanganyiko wa alama. (Kwa kweli, hii pia ni kamba, lakini ili kuzuia machafuko, sitaiita hivyo). "indexOf" inarudisha nafasi ya herufi ya kwanza ya mchanganyiko. Kwa mfano:

Document.write(a.indexOf("o w"));

pia itarudi 4 kwa sababu ni faharisi ya "o".

Kwa kuongeza, inawezekana kutafuta mhusika baada ya faharisi fulani. Ukiingia

Document.write(a.indexOf("o", 5));

basi utapata faharisi ya "o" ya kwanza kufuatia mhusika na index 5 (hii ni nafasi), ambayo ni, matokeo yatakuwa 7 .

Ikiwa tabia au mchanganyiko haufanyiki kwenye kamba, "indexOf" itarudi "-1". Haya ndiyo matumizi maarufu zaidi ya "indexOf": kuangalia uwepo wa mchanganyiko fulani wa wahusika. Ni msingi wa hati ambayo inafafanua kivinjari. Ili kufafanua IE unachukua mstari:

Navigator.userAgent;

na angalia ikiwa ina "MSIE":

Ikiwa(navigator.userAgent.indexOf("MSIE") != -1) ( //Vitendo vyovyote ukitumia Internet Explorer)

Ikiwa index ya "MSIE" sio "-1" (ikiwa "MSIE" hutokea popote kwenye mstari), basi kivinjari cha sasa- I.E.

LastIndexOf

Pia kuna njia ya "lastIndexOf" ambayo inarudisha tukio la mwisho la mhusika au mchanganyiko. Inafanya kinyume cha "indexOf". Timu

Var b = "Mimi ni mwanafunzi."; document.write(b.lastIndexOf("t"));

itarudi 13 kwa sababu ni faharisi ya "t" ya mwisho kwenye kamba.

charAt

Njia ya "charAt" inarudisha mhusika katika nafasi maalum. Kwa mfano, unapoingia

Var b = "Mimi ni mwanafunzi."; hati.andika(b.charAt(5));

matokeo yake ni "a" kwani ni mhusika katika nafasi ya sita (kumbuka kwamba faharisi ya herufi ya kwanza inaanzia 0).

urefu

Njia ya "urefu" inarudisha urefu wa kamba.

Var b = "Mimi ni mwanafunzi."; hati.andika(b.length);

itarudi "15". Urefu wa mfuatano ni 1 mkubwa kuliko faharasa ya herufi ya mwisho.

mgawanyiko

"mgawanyiko" ni njia maalum ambayo inakuwezesha kugawanya kamba na wahusika fulani. Inatumika wakati matokeo yanahitaji kuhifadhiwa katika safu badala ya kutofautisha rahisi. Wacha tugawanye "b" kwa nafasi:

Var b = "Mimi ni mwanafunzi." var temp = safu mpya (); temp = b.split(" ");

Sasa kamba imegawanywa katika vifungu 4, ambavyo vimewekwa kwenye safu ya "temp". Nafasi zenyewe zimetoweka.

Temp = "mimi"; temp = "am"; temp = "a"; temp = "mwanafunzi";

Mbinu ya "mfuatano mdogo" hutumiwa kutoa sehemu ya mfuatano. Sintaksia ya mbinu: ".mfuatano-ndogo(index_ya_kwanza, faharasa_ya_mwisho)". Kwa mfano:

Var a = "Hujambo ulimwengu!"; hati.andika(a.string(4, 8));

itarudi "o wo", kutoka "o" ya kwanza (index 4) hadi ya pili (index 7). Kumbuka kuwa "r" (index 8) sio sehemu ya kamba ndogo.

Unaweza pia kuandika:

Var a = "Hujambo ulimwengu!"; hati.andika(a.string(4));

Hii itatoa kifungu kizima "o dunia! ", kuanzia mhusika na index 4 hadi mwisho wa mstari.

sehemu ndogo

Pia kuna njia ya "substr" ambayo inafanya kazi tofauti kidogo. Haitumii nambari ya faharisi kama hoja ya pili, lakini idadi ya wahusika. Hiyo ni

Hati.andika(a.substr(4, 8));

inarejesha herufi 8, kuanzia mhusika katika faharasa 4 (“o”), yaani, matokeo ni: “ o dunia! »

kwaChembe ndogo na ya Juu

Hatimaye, mbinu 2 ambazo wakati mwingine zinaweza kuwa muhimu kwako: "toLowerCase" hubadilisha mfuatano mzima hadi herufi ndogo, na "toUpperCase" huibadilisha kuwa herufi kubwa.

Var b = "Mimi ni mwanafunzi."; hati.andika(b.toUpperCase());

Matokeo yake, tunapata “MIMI NI MWANAFUNZI. "