AWWW-1st3.6-w03.tresc-1.0-Slajd12

Z Studia Informatyczne
Wersja z dnia 18:55, 28 sie 2006 autorstwa Juliusz Jezierski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

JavaScript - funkcje

JavaScript - funkcje


Funkcją nazywamy nazwany blok programu, który może być wykonywany wielokrotnie i do którego dostęp odbywa się poprzez przyznaną nazwę. Definicja funkcji musi być poprzedzona słowem kluczowym function. Funkcja może przyjmować parametry. Lista parametrów podana podczas wywołania funkcji (lista parametrów aktualnych) nie musi być zgodna z listą parametrów podanych w deklaracji funkcji (listą parametrów formalnych). Parametry formalne, które nie zostaną dopasowane do parametrów aktualnych przyjmują wartość undefined. Wewnątrz funkcji można wykorzystywać parametry albo za pomocą ich nazw, albo za pomocą listy arguments, np. odwołanie do pierwszego parametru funkcji może mieć postać arguments[0]. JavaScript przekazuje parametry typów prostych (liczby, łańcuchy znaków, dane logiczne) przez wartość, natomiast obiekty są przekazywane przez referencję. Funkcja może (nie musi) zwracać wartość przy pomocy słowa kluczowego return. Poniżej przykład funkcji:


function Potega(podstawa, wykladnik) {

var wynik = 1;

for (i = 0; i < wykladnik; i++)

{ wynik *= podstawa; }

return wynik;

}


W języku JavaScript funkcje są obiektami tworzonymi na podstawie prototypu obiektu Function. Funkcja anonimowa może zostać przypisana do składowej obiektu, przykład takiego wykorzystania funkcji znajduje się poniżej:


Object.prototype.addTwoNumbers = function(a,b) { return a + b; }

myObject = new Object();

myObject.addTwoNumbers(2,2);


W powyższym przykładzie prototyp obiektu o nazwie Object został wzbogacony o nową metodę o nazwie addTwoNumbers, której implementacją jest funkcja dodająca do siebie dwa parametry wywołania. Każdy obiekt utworzony na podstawie prototypu Object posiada tę metodę i może ją wywoływać. Co więcej, funkcja może zostać przekazana jako argument wywołania do innej funkcji, jak zaprezentowano poniżej:


function sayHello() { return "Hello!"; }

function execute(funct) { funct(); }

execute(sayHello);


Specjalnym rodzajem funkcji jest konstruktor, czyli funkcja powołująca do życia nowe obiekty. Zastosowanie konstruktora zostanie omówione w dziale poświęconym prototypom.


<< Poprzedni slajd | Spis treści | Następny slajd >>