Kako napraviti da se funkcija može koristiti globalno?

Imam jednu javascript funkciju na stranici, nazovimo je Funkcija1, unutar te funkcije definirao sam drugu funkciju Funkcija2. Ako se ne varam Funkcija2 se može koristiti samo unutar Funkcije1, a meni treba upravo da koristim Funkciju2 na nekom drugom mjestu.

Ovako bi to slikovito izgledalo:

<script>
function Funkcija1 (a) {
    ...
    function Funkcija2 (b) { ... }
    ...
}
</script>

Iz raznoraznih razloga koji se tiču aplikacije na kojoj radim to je jedino mjesto na kojem mogu definirati Funkciju2, dakle nije nikako drugačije izvedivo.

Postoji li neki način da ipak nekako koristim Funkciju2 izvan Funkcije1, da je nekako pozovem? Da li je mogu nekako zakvačiti na ‘document’ object pa da mi bude dostupna svugdje kao document.Funkcija2(5)?

Što nemože ovako:

Ne moze, nemam nikakav pristup nicemu izvan Funkcije1, smijem pisati samo unutar nje.

ako je ovako definirano:

function f1() {
this.f2 = function() {};
}

onda bi se to ovako koristilo:

var funkcija = new f1();
funkcija.f2();

znaci, treba instancirati objekt f1, da bi se moglo pristupiti unutarnjim objektiva, odnosno funkcijama.

[quote=“hudo”]ako je ovako definirano:

function f1() {
this.f2 = function() {};
}

onda bi se to ovako koristilo:

var funkcija = new f1();
funkcija.f2();

znaci, treba instancirati objekt f1, da bi se moglo pristupiti unutarnjim objektiva, odnosno funkcijama.[/quote]

Za globalnu funkciju se moze staviti:

window.funkcija2 = function() { … }

Ali je ovo tvoje puno bolje rjesenje od koristenja globalne varijable.


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja