Operatory

Do podstawowych elementów języka JavaScript pozwalającego na wykonywanie obliczeń należą operatory. Ponieważ omówiłem je dokładnie w poprzednich lekcjach tego kursu, tutaj tylko ograniczę się do wymienienia tych najważniejszych, a zainteresowanych odsyłam do stosownych lekcji (linki poniżej):

Operatory arytmetyczne:

  • dodawanie (+);
  • odejmowanie (-);
  • mnożenie (*);
  • dzielenie (/);
  • dzielenie modulo (%);

Operatory porównania i relacyjne:

  • równy (==);
  • różny (!=);
  • mniejszy (<);
  • mniejszy lub równy (<=);
  • większy (>);
  • większy lub równy (>=);

Operatory logiczne:

  • negacja logiczna (!);
  • iloczyn logiczny (&&);
  • suma logiczna (||);

Operatory bitowe:

  • negacja logiczna (~);
  • iloczyn logiczny (&);
  • suma logiczna (|);
  • różnica symetryczna XOR (^);
  • przesunięcie bitowe w lewo (<<);
  • przesunięcie bitowe w prawo (>>);

Stałe matematyczne – obiekt Math

Obiekt Math udostępnia szereg stałych które można wykorzystać w swoich skryptach JavaScript w celu wykonania różnorodnych obliczeń. Te stałe to:

  • Math.E – podstawa logarytmu naturalnego (liczba Eulera), e ≈ 2.718;
  • Math.LN2 – logarytm naturalny z 2, ln 2 ≈ 0.693;
  • Math.LN10 – logarytm naturalny z 10, ln 10 ≈ 2.302;
  • Math.LOG2E – logarytm o podstawie 2 z e (liczba Eulera), log2e ≈ 1.442;
  • Math.LOG10E – logarytm o podstawie 10 z e (liczba Eulera), log10e ≈ 0.434;
  • Math.PI – liczba Pi, Π ≈ 3.14159;
  • Math.SQRT1_2 – pierwiastek z 0.5, √½ ≈ 0.707;
  • Math.SQRT2 – pierwiastek z 2, √2 ≈ 1.414.

Przy pomocy powyższych stałych można wyliczyć np. pole koła:

function pole_kola(r)
{
    return Math.PI * r * r;
}

Funkcje matematyczne – obiekt Math

Obiekt Math dostarcza także wielu funkcji przydatnych podczas obliczeń matematycznych:

  • Math.abs(liczba) – wartość bezwzględna;
  • Math.acos(liczba) – arcus cosinus;
  • Math.asin(liczba) – arcus sinus;
  • Math.atan(liczba) – arcus tangens;
  • Math.atan2(x, y) – arcus tangens liczony od osi X do punktu (x, y);
  • Math.ceil(liczba) – najmniejsza liczba całkowita która jest większa lub równa od podanej liczby;
  • Math.cos(liczba) – cosinus;
  • Math.exp(liczba) – eliczba – liczba Eulera podniesiona do podanej potęgi;
  • Math.floor(liczba) – największa liczba całkowita która jest mniejsza lub równa od podanej liczby;
  • Math.log(liczba) – logarytm naturalny (o podstawie e) z podanej liczby;
  • Math.max(liczba1, ..., liczbaN) – największa spośród podanych liczb;
  • Math.min(liczba1, ..., liczbaN) – najmniejsza spośród podanych liczb;
  • Math.pow(podstawa, wykladnik) – podstawawykładnik – podnosi liczbę podstawa do potęgi wykładnik;
  • Math.random() – liczba losowa z przedziału [0; 1). Generator liczb losowych jest automatycznie uruchamiany automatycznie (czyli wartość Random Seed jest inicjalizowana przez silnik JavaScript automatycznie);
  • Math.round(liczba) – zaokrąglenie liczby do najbliższej liczby całkowitej;
  • Math.sin(liczba) – sinus;
  • Math.sqrt(liczba) – pierwiastek kwadratowy;
  • Math.tan(liczba) – tangens.

Posiadając te funkcje można zatem obliczyć np. odległość pomiędzy punktami P i Q:

function odleglosc_punktow(Px, Py, Qx, Qy)
{
    return Math.sqrt( Math.pow(Px - Qx, 2) + Math.pow(Py - Qy, 2) );
}