Lēmumu pieņemšana JavaScript kodā — nosacījumi/conditionals

 

Jebkurā programmēšanas valodā “kodam” ir jāpieņem lēmumi un attiecīgi jāveic darbības atkarībā no dažādām ievadēm. Piemēram, spēlē – ja spēlētāja dzīvību skaits ir 0, tad spēle ir beigusies. Ja laikapstākļu lietotnē to skatās no rīta, parādiet saullēkta grafiku; parādiet zvaigznes un mēnesi, ja ir nakts. Šajā rakstā mēs izpētīsim, kā JavaScript darbojas tā sauktie nosacījuma priekšraksti, jeb conditional statements.

Jūs to varat saņemt ar vienu nosacījumu!

Cilvēki visu laiku pieņem lēmumus, kas ietekmē viņu dzīvi, sākot no maziem (“vai man apēst vienu cepumu vai divus?”) līdz lieliem (“vai man jāpaliek savā dzimtenē un jāstrādā sava tēva fermā, vai vai man vajadzētu pārcelties uz Ameriku un studēt astrofiziku?”)

Nosacītie paziņojumi ļauj mums attēlot šādu lēmumu pieņemšanu JavaScript, sākot no izvēles, kas jāveic (piemēram, “viens sīkfails vai divi”), līdz šo izvēļu rezultātam (iespējams, “apēda vienu sīkfailu” rezultāts varētu būt “joprojām jutos izsalcis”, un rezultāts “apēdu divus cepumus” varētu būt “sāta sajūta, bet mamma man aizrādīja, ka apēdu visus cepumus”.)

if…else apgalvojumi

Apskatīsim visizplatītāko nosacījuma priekšraksta veidu, ko izmantosiet JavaScript — pazemīgo if…else paziņojumu.

Pamata if…else sintakse izskatās šādi:

if (nosacījums) {
/* Šis kods izpildās, ja "if" nosacījums ir patiess "True" */
} else {
/* Šis kods izpildās, ja "if" nosacījums ir nepatiess "False" */
}
  • Tātad: – Atslēgvārds “ifun pēc tā seko iekavas. – Pārbaudāmais nosacījums, kas ievietots iekavās (parasti “vai šī vērtība ir lielāka par šo citu vērtību?” vai “vai šī vērtība pastāv?“). Nosacījums izmanto salīdzināšanas operatorus, par kuriem es rakstīju jau iepriekšējos rakstos, un atgriež patiesu vai nepatiesu.
  •  Figūriekavu kopa {}, kurā mums ir kāds kods — tas var būt jebkurš mums tīkams kods, un tas darbojas tikai tad, ja nosacījums izpildāms kā patiess.
  •  Atslēgvārds else.
  •  Vēl viens figūriekavu{} komplekts, kurā mums ir vēl kāds kods — tas var būt jebkurš kods, kas mums patīk, un tas tiek izpildīts tikai tad, ja nosacījums nav patiess — jeb, citiem vārdiem sakot, nosacījums ir nepatiess.

Šis kods ir diezgan viegli salasāms — tas saka: “ja nosacījums ir patiess, palaidiet kodu A, pretējā gadījumā palaidiet kodu B”.

Ņemiet vērā, ka jums nav obligāti jāizmanto else atslēgvārds ar otrām figūriekavām — arī šis ir pilnīgi valīds un strādājošs kods vieglākā un pārskatāmākā pierakstā:

if (nosacījums) {
/* šis kods tiek palaists, ja nosacījums izpildās kā patiess */
}

/* šis nosacījums tiek palaists, ja nosacījums izpildās kā nepatiess*/

Pārvēršot to visu tā teikt iz dzīves latviešu valodā, un pilnīgi funkcionējoša kodā, tas varētu izskatīties šādi:

var maizesCena = 1.5; // nosakām cik būs maizes cena konkrētajā gadījumā
if (maizesCena <= 1) { // Ja maizes cena mazāka, vai vienāda ar 1
  console.log("Pērc"); // Paziņojam "Pērc"
}
if (maizesCena > 1) { // Ja maizes cena lielāka par vērtību 1
  console.log("Nepērc"); // Paziņojam "Nepērc"
}

Vēl kāds reāls piemērs…

Lai labāk izprastu šo sintaksi, apskatīsim vēl kādu reālu piemēru, pirms dodamies tālāk. Iedomājieties, ka bērnam māte vai tēvs lūdz palīdzību kādos mājas darbos. Vecāks varētu teikt: “Čau, mīļā! Ja tu man palīdzēsi, nomazgāt traukus un izkārt drēbes, es tev piešķiršu papildu kabatas naudu, lai tu varētu atļauties to rotaļlietu, kuru vēlējies.”
JavaScript mēs to varētu attēlot šādi:
let palīdzMājās = false;
let kabatasNauda;


if (palīdzMājās === true) {
  kabatasNauda = 10;
} else {
  kabatasNauda = 5;
}

Šis kods, kā parādīts, vienmēr izraisa to, ka mainīgais palīdzMājās atgriež nepatiesu vērtību “false”, kas nozīmē mūsu nabaga bērna vilšanos. Mums būtu jānodrošina mehānisms, lai vecāks varētu iestatīt mainīgo palīdzMājās uz patiesu vērtību “true”, ja bērns tomēr mājās iz palīdzējis izpildīt uzdotos uzdevumus. Skatoties pēc šī piemēra parauga, vari pats mēģināt papildināt un mainīt šo kodu savā IDE , lai panāktu vēlamo koda iznākumu un bērns tiktu pie papildus kabatas naudas. Būšu priecīgs, ja komentārā zem šī raksta uzrakstīsi, vai Tev tas izdevās.

else if…

Pēdējais piemērs sniedza mums divas izvēles vai rezultātus — bet ko darīt, ja mēs vēlamies vairāk nekā divas?

Ir veids, kā pievienot papildu izvēles/rezultātus savam if…else — izmantojot else if. Katrai papildu izvēlei ir nepieciešams papildu bloks, kas jāievieto starp if () { } un else { } — skatiet tālāk redzamo piemēru, kas varētu būt daļa no vienkāršas laika prognožu lietojumprogrammas:

HTML kods, kurš parādīs mūsu JavaScript kodu HTML dokumentā vizuāli:

<label for="laikaZiņas">Izvēlies laika ziņu tipu šodien: </label>
<select id="laikaZiņas">
  <option value="">--Izdari-izvēli--</option>
  <option value="saulains">Saulains</option>
  <option value="lietains">Lietains</option>
  <option value="sniegots">Sniegots</option>
  <option value="vētrains">Vētrains</option>
</select>


<p></p>

JavaScript kods, kurš izpildīs HTML koda tehnisko pusi:

const select = document.querySelector('select');
const para = document.querySelector('p');


select.addEventListener('change', setWeather);


function setLaikaZiņas() {
  const choice = select.value;


  if (choice === 'saulains') {
    para.textContent = 'Šodien ārā ir jauks un saulains laiks. Valkā šortus! Dodieties uz pludmali vai parku un paņemiet saldējumu.';
  } else if (choice === 'lietains') {
    para.textContent = 'Ārā līst lietus; Paņemiet lietusmēteli un lietussargu un nepalieciet ārā pārāk ilgi.';
  } else if (choice === 'sniegots') {
    para.textContent = 'Sniegs krīt - salst! Vislabāk silti saģērbties un paņemt tasi karstas šokolādes vai doties uzcelt sniegavīru.';
  } else if (choice === 'vētrains') {
    para.textContent = 'Lietus nelīst, bet debesis pelēkas un drūmas; tas var pāriet vētrā jebkurā brīdī, tāpēc katram gadījumam paņemiet lietusmēteli.';
  } else {
    para.textContent = '';
  }
}

Loading

Noderīgs raksts? Dalies ar citiem: