Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Definiowanie funkcji

Definiowanie funkcji

Na definicję funkcji składają się słowa:

  • Nazwa funkcji.
  • Lista argumentów funkcji, otoczona w nawiasach i oddzielona przecinkami.
  • Instrukcje JavaScript, które definiują funkcje, otoczone w nawiasach klamrowych, { }. Instrukcje w funkcji zawierają nazwę do innych funkcji zdefiniowane do aktualnej aplikacji.

Na przykład, następujący kod definiuje prostą funkcję nazwaną square:

function square(number) {
   return number * number;
}

Funkcja square bierze jeden argument, nazwany number. Funkcja składa się z jednej instrukcji, która sygnalizuje zwrot argumentu funkcji pomnożonej przez samą siebie. Instrukcja return określa wartość zwracanej funkcji.

return number * number

Wszystkie parametry są przekazywane do funkcji przez wartość; wartość zostaje przekazana do funkcji, ale jeżeli w funkcji wartość parametru zostanie zmieniona, zmiana ta nie będzie widoczna globalnie an. Jednakże, jeżeli przekażesz obiekt jako parametr funkcji, a funkcja zmieni właściwości obiektu, zmiana ta będzie widoczna poza funkcją, tak jak w następującym przykładzie:

function myFunc(theObject) {
   theObject.make="Toyota"
}

mycar = {make:"Honda", model:"Accord", year:1998};
x=mycar.make;     // zwraca Honda
myFunc(mycar);    // przechodzi obiekt mycar do funkcji
y=mycar.make;     // zwraca Toyota (porada: was changed by the function)

Zdefiniowana funkcja jest oparta na warunku. Na przykład, dając następującą definicje funkcji:

if (num == 0)
{
   function myFunc(theObject) {
   theObject.make="Toyota"
   }
}

Funkcja myFunc jest tylko zdefiniowana jeśli zmienna num równa się 0. Jeśli num nie jest równe 0, funkcja nie jest zdefiniowana i jakiekolwiek inne próby nie zostaną wykonane.

Oprócz opisanego tu definiowania funkcji, możliwe jest także definiowanie Function objects.

Metoda jest to połączenie funkcji z obiektem. Możesz się nauczyć więcej o obiektach i metodach w Obiekt function

Funkcja może być także zdefiniowana wewnątrz wyrażenia. Jest to nazwane wyrażeniem funkcyjnym. Typowo takie funkcje są anonimowe - nie mają nazwy. Na przykład, funkcja square może być zdefiniowana jako:

const square = function(number) {return number * number};

To jest konwencja kiedy przekazujesz jako funkcję jako argument do następnej funkcji. Następujący przykład pokazuje mapę funkcji będących zdefiniowanymi i następnie nazwane z funkcją, a jako pierwszą funkcją będzie parametr:

function map(f,a) {
   var result=new Array;
   for (var i = 0; i != a.length; i++)
      result[i] = f(a[i]);
   return result;
}

Wywołuje:

map(function(x) {return x * x * x}, [0, 1, 2, 5, 10]);

Zwraca [0, 1, 8, 125, 1000].

Autorzy i etykiety dokumentu

 Autorzy tej strony: teoli, ethertank, szymie, Ptak82, Mgjbot, Tmk
 Ostatnia aktualizacja: teoli,