--- title: Definiowanie funkcji slug: >- Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Definiowanie_funkcji tags: - JavaScript - Przewodnik_JavaScript - Wszystkie_kategorie translation_of: Web/JavaScript/Guide/Functions translation_of_original: Web/JavaScript/Guide/Obsolete_Pages/Defining_Functions ---
Na definicję funkcji składają się słowa:
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 {{ mediawiki.external('0, 1, 8, 125, 1000') }}.