Wszystkie wpisy, których autorem jest Wojciech Buczek

jak wywoływac funkcje w javascript

Kontekst wywołania funkcji

Każda funkcja w JavaScript posiada dwa obiekty z nią skojarzone:

  • this – kontekst wywołania
  • arguments – (array-like object) lista argumentów przekazanych przy wywołaniu

Zobaczmy, jak wyglada to w praktyce:

function example1()
{
    console.log('this: ', this, ', arguments: ', arguments);
}
example1();

Fragmenty kodu umieszczone w tym artykułe można uruchamiać w konsoli przeglądarki. Konsola ta najczęściej dostępna jest po wcisnięciu F12.

W wyniku wywołania funkcji `example1’ otrzymamy w konsoli:

this: Window, arguments: []

Jak widać przy wywołaniu takiej funkcji bez parametrów `this’ przyjmuje wartość obiektu globalnego `window’, natomiast `arguments’ jest pustą listą.

Może właśnie zapytałeś: “Jeśli `this’ === `windows’, to czy zmienne globalne są właściwościami obiektu `window’?

Sprawdźmy:

function example2()
{
    window.console.log(this===window);
}
window.example2();

W wyniku wywołania funkcji `window.example2’ otrzymamy: `true’. Zatem – tak, zmienne globalne w skryptach uruchamianych w przeglądarce są właściwościami obiektu globalnego `window’. Domyślnym kontekstem dla skryptów uruchamianych w normalnym trybie w przeglądarkach jest właśnie `window’. Sprawę trochę zmienia (porządkuje) tryb ścisły, o którym nie będę pisał w tym poście. Jest to temat na osobny artykuł.

Operator `new’

Skoro już wiemy, że domyślnie `this’ wskazuje na obiekt globalny, to co należy zrobić, aby powiąząć `this’ z aktualnym obiektem?

rozwiązanie 1:

var obj = {
    x : 'jestem wartością obj.x',
    test : function() { console.log(this.x); }
};
obj.test(); // w konsoli pokaże się "jestem wartością obj.x"

rozwiązanie 2:

function Constructor()
{
    this.x = 'jestem wartością Constructor.x';
    this.test = function() { console.log(this.x); }
};
(new Constructor()).test(); // w konsoli pokaże się "jestem wartością Constructor.x"

W obu przypadkach zarówno pole `x’, jak i pole `test’ (będące referencją na funkcję) są publiczne. Można odwołać się:

obj.x;
(new Constructor()).x;

lub nawet nadpisać te wartości. JavaScript pozwala na to. Najczęściej jednak NIE należy tego robić.

autor : Wojciech Buczek

Źródło: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Compatibility

Jakie są rodzaje okien dialogowych JavaScript

Okienko typu alert()

Metoda alert ma postać :

ALERT.1

Po wywołaniu metody alert() zostaje wyświetlone okienko z Komunikatem i przyciskiem OK. Po kliknięciu przycisku nie zostaje  wrócona żadna wartość, tak więc okno to nadaje się tylko do informowania użytkownika o pewnych zdarzeniach. Zaznaczyć trzeba, że nie ma możliwości zmiany tytułu tego okna (jest zależny od przeglądarki), a tylko treści jakie to okienko wyświetla.

ALERT.2

Okienko typu confirm()

ALERT.3

Do metody prompt przekazujemy dwa parametry – jeden jest treścią, która będzie wyświetlana w okienku, a drugi jest domyślną wartością, która będzie wyświetlana w polu, w które wpisujemy tekst. Okienko to wyświetla dwa guziki: [OK] i [ANULUJ] (CANCEL). Jeżeli użytkownik kliknie [OK], to zostanie zwrócona wartość z pola tekstowego znajdującego się w tym okienku (lub też ‚domyślna wartość’, jeżeli użytkownik nie zmieniał zawartości tego pola). Jeżeli użytkownik kliknie [ANULUJ] (CANCEL), to zostanie zwrócona wartość null.

ALERT.4

Autor wpisu :  Wojciech Buczek.

Strony z której korzystałem to :  http://kursjs.pl/kurs/okienka_dialogowe.html