Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

JS: Obliczanie średniej

środa,

JS: Obliczanie średniej

Na przykładzie prostego skryptu można przedstawić podstawowe mechanizmy stosowane podczas programowania w języku JavaScript. Prezentowana mikroaplikacja to formularz, który pozwala obliczyć średnią z kilku liczb. Materiał ma charakter powtórkowy, nie dowiesz się z niego jak dołączać JavaScript do strony internetowej itp.

Wprowadż liczby oddzielone średnikiem:

Kod HTML

Kod HTML to standardowy formularz HTML oraz element <div>, w którym wyświetlany bedzie wynik obliczeń.

<form id="app">
	<input type="text" name="values" value="">
	<input type="submit" name="s" value="Przelicz">
</form>
<div id="result"></div>

Kod JavaScript

Dla uproszczenia kodu celowo nie zimplementowano żadnej obsługi błędów.

Dostęp do wybranych elementów strony umożliwiają metody obsługi drzewa DOM (Document Object Model). W skrypcie wykorzystano metody document.getElementById() oraz document.querySelector(). Pierwsza działa zgodnie z nazwą i powinna być zrozumiała. Druga wykorzystuje mechanizm selektorów podobnie jak w języku CSS.

Formularz nie powinien zostać wysłany (obliczenia prowadzone są po stronie klienta), dlatego należy przechwycić odpowiednie zdarzenie (event), którym jest onsubmit [1 wiersz] i zatrzymać wysyłkę (return false [6 wiersz]).

Przy liczeniu średniej pierwszą operacją jest obliczenie sumy elementów. Początkowo suma wynosi zero (sum = 0). Wartość pobrana z pola formularza jest dzielona po znaku średnika przy pomocy metody split(';') [3 wiersz]. Otrzymana tablica liczb dzięki pętli może być zsumowana [4 wiersz]. Własność length tablicy (v.length) to ilość jej elementów. Metoda parseInt konwertuje łańcuch znaków na liczbę całkowitą.

Znając sumę elementów i ich ilość obliczenie średniej jest proste (sum/v.length) [5 wiersz]. Wynik umieszczony zostaje wewnątrz elementu o identyfikatorze "result" (document.getElementById('result').innerHTML) [5 wiersz].

document.getElementById('app').onsubmit = function() {
		var sum = 0;
		var v = document.querySelector('input[name=values]').value.split(';');
		for(i=0;i<v.length;i++) sum += parseInt(v[i]);
		document.getElementById('result').innerHTML=sum/v.length;
		return false;
	}
Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły