Droga Czytelniczko, Drogi Czytelniku,

Czerniak złośliwy jest często występującym nowotworem złośliwym skóry. Niestety wyniki leczenia czerniaka w Polsce należą do najgorszych w Europie. Niezrozumiałe pozostają przyczyny późnego rozpoznawania czerniaka skóry, którego diagnostyka jest najprostszą i najtańszą w całej onkologii.

Kierujemy do Ciebie prośbę o wypełnienie anonimowej ankiety, która pozwoli na ocenę naszej wiedzy o czerniaku skóry, a w szczególności o profilaktyce i leczeniu tej choroby.
Czas jaki to zajmie - około 10-15 minut.

Czy chcesz pomóc w badaniach naukowych - odpowiedzieć na nasze pytania?

TAK, wypełniam
NIE, odmawiam

Zebrane informacje wykorzystane zostaną wyłącznie do celów naukowych
Polski Serwis Naukowy - OnLine od 1999 roku RSS RSS
  auto?
Dodaj do: 
Dodaj link do serwisu Facebook   Dodaj link do opisu GG  Dodaj link do serwisu Wykop   Dodaj link do serwisu Google   Dodaj link do serwisu Twitter  Dodaj link do serwisu Wyczaj.to   Dodaj link do serwisu Gwar   Dodaj link do serwisu Delicious  Dodaj link do serwisu Digg   Dodaj link do serwisu Furl   Dodaj link do serwisu Magnolia  Dodaj link do serwisu Reddit   Dodaj link do serwisu Simpy   Dodaj link do serwisu Slashdot  Dodaj link do serwisu Technorati   Dodaj link do serwisu YahooMyWeb
Warto przeczytać:
 
25. europejska konferencja nt. programowania obiektowego, Lancaster, Wlk. Brytania
W dniach 25 - 29 lipca 2011 r. w Lancaster, Wlk. Brytania, odbędzie się 25. europejska konferencja nt. programowania obiektowego. Program wydarzenia koncentrować się będzie wokół sympozjum doktoranckiego i warsztatów dla doktorantów. Zapewnią one początkującym i zaawansowanym dok...
 
Deklaratywne aspekty programowania wielordzeniowego, Austin, USA
Dnia 23 stycznia 2011 r. w Austin, USA, odbędzie się konferencja pt. "Deklaratywne aspekty programowania wielordzeniowego". Wielu producentów chipów wybiera wielordzeniowość jako sposób na zapewnienie wydajności swoim procesorom do zastosowań biurowych, przemysł...
 
25. warsztaty nt. programowania logicznego, Wiedeń, Austria
W dniach 28 - 30 września 2011 r. w Wiedniu, Austria, odbędą się 25. warsztaty nt. programowania logicznego. Programowanie deklaratywne to zaawansowany paradygmat modelowania i rozwiązywania złożonych problemów. Zainteresowanie tą metodą specyfikacyjną wzra...
 
"Siła programowania - rozwojowe źródła zdrowia i choroby", Monachium, Niemcy
W dniach 6-8 maja 2010 r. w Monachium, Niemcy, odbędzie się konferencja pt. "Siła programowania - rozwojowe źródła zdrowia i choroby". Żywienie w czasie ciąży i niemowlęctwa może wywrzeć istotne, długoterminowe skutki na rozwój i zdrowie. Programowanie skutków żywienia we w...
 
40. sympozjum nt. zasad języków programowania, Rzym, Włochy
W dniach 23 - 25 stycznia 2013 r. w Rzymie, Włochy, odbędzie się 40. sympozjum nt. zasad języków programowania. Język programowania to sztuczny język opracowany w celu przekazywania instrukcji maszynie. Większość języków programowania opisuje obliczenia jak...

Reklama:


ECMAScript

Czy wiesz że...?
Ecma International (ang. European association for standardizing information and communication systems - Europejskie Stowarzyszenie na rzecz Standaryzacji Systemów Informacyjnych i Komunikacyjnych; dawniej ang. European Computer Manufacturers Association – Europejskie Stowarzyszenie Producentów Komputerów) – powstało w 1961 roku, by ustandaryzować systemy informatyczne w Europie. Członkowie ECMA to firmy produkujące, sprzedające lub rozwijające systemy informatyczne i telekomunikacyjne w Europie.

Konstruktor w programowaniu obiektowym to specjalna metoda danej klasy, wywoływana podczas tworzenia jej instancji. Zadaniem konstruktora jest zainicjowanie obiektu, a w niektórych językach programowania także utworzenie obiektu.

World Wide Web Consortium, w skrócie W3C, to organizacja, która zajmuje się ustanawianiem standardów pisania i przesyłu stron WWW. Została założona 1 października 1994 roku przez Tima Berners-Lee, twórcę WWW oraz autora pierwszej przeglądarki internetowej i serwera WWW.

ECMAScript – ustandaryzowane przez ECMA kluczowe elementy obiektowego skryptowego języka programowania JavaScript. Specyfikacja ta oznaczona jest jako ECMA-262.

ECMA-262 definiuje samą semantykę języka oraz niektóre podstawowe typy danych (String, Boolean, Number, Object itp.) i obiekty (np. Math, Array). Elementy takie jak model dokumentu lub specjalistyczne funkcje wejścia-wyjścia, obsługi GUI itp. nie wchodzą w skład specyfikacji ECMAScript, definiowane są przez inne standardy (W3C DOM) lub samych autorów konkretnych implementacji.

JavaScript (JS) – obiektowy skryptowy język programowania, stworzony przez firmę Netscape, najczęściej stosowany na stronach internetowych. Pod koniec lat 90. XX wieku organizacja ECMA wydała na podstawie JavaScriptu standard języka skryptowego o nazwie ECMAScript. Głównym autorem JavaScriptu jest Brendan Eich.

Tablica asocjacyjna (tablica skojarzeniowa, mapa, słownik, ang. associative array, map, dictionary) – nazwa dla powszechnie stosowanego w informatyce abstrakcyjnego typu danych, który przechowuje pary (unikalny klucz, wartość) i umożliwia dostęp do wartości poprzez podanie klucza.

Zob. JavaScript by uzyskać więcej informacji na temat różnic między teoretyczną specyfikacją ECMAScript a jej faktycznymi implementacjami.

Podstawowe elementy składni wersji 3

Komentarze

Komentarze w skryptach ECMAScriptu umieszcza się w sposób identyczny jak w C++. Komentarz blokowy umieszcza się między sekwencją znaków /* a */, komentarz liniowy rozpoczyna się sekwencją // a kończy znakiem końca linii:

/* To jest komentarz
  blokowy. Zajmuje on
  kilka linii */
 
// to jest komentarz liniowy

Zmienne

Zmienne są typowane dynamicznie. Definiowanie zmiennej polega na zwykłym przypisaniu jej wartości lub skorzystaniu z instrukcji var. Zmienne zdefiniowane poza funkcjami są dostępne w zasięgu globalnym (widoczne dla całego skryptu).

Instrukcja wiążąca to instrukcja w danym języku programowania służąca uproszczeniu zapisu odwołań do pól rekordu ( struktury) lub pól i metod obiektu.

Graficzny interfejs użytkownika (ang. Graphical User Interface, GUI), często nazywany też środowiskiem graficznym – ogólne określenie sposobu prezentacji informacji przez komputer oraz interakcji z użytkownikiem, polegającego na rysowaniu i obsługiwaniu widżetów.

Instrukcje sterujÄ…ce

Podstawowe instrukcje są identyczne z instrukcjami znanymi z języków Java i C++.

Instrukcja if

 if (warunki) {
     instrukcje;
 }
 else {
     instrukcje;
 }

Pętla while

 while (warunki) {
     instrukcje;
 }

Pętla do...while

 do {
     instrukcje
 } while (warunki);

Pętla for

 for ([instrukcje-poczÄ…tkowe]; [warunki]; [instrukcje-krokowe]) {
     instrukcje-środkowe;
 }

Pętla for...in

Pętla ta przechodzi przez wszystkie pola danego obiektu (w tym elementy tablicy):

Język programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program (czyli ciąg symboli opisujący obliczenia) oraz jakie obliczenia opisuje.

Obiektowy model dokumentu (Document Object Model, DOM) – sposób reprezentacji złożonych dokumentów XML i HTML w postaci modelu obiektowego. Model ten jest niezależny od platformy i języka programowania.
 for (własność in obiekt) {
     instrukcje;
 }

Jest to instrukcja, która nie występuje w Javie (stosowny odpowiednik pojawił się dopiero w wersji JDK 1.5) natomiast jest dostępna w Borland Delphi 2005. W PHP5 jej odpowiednikiem jest instrukcja foreach (w PHP4 umożliwiała jedynie iterację po tablicy). W C++ można ją spotkać w dwóch odmianach:

C – imperatywny, strukturalny język programowania stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu.

Garbage collection (zbieranie nieużytków) to architektura zarządzania pamięcią, w której proces zwalniania nieużywanych jej obszarów odbywa się automatycznie. Mechanizm taki stosuje się na przykład w wysokopoziomowych językach programowania, przy czym za jego obsługę nie odpowiada sam język, lecz wirtualna maszyna.
  • jako funkcjÄ™ for_each wykorzystujÄ…c funktor. Warto również zwrócić uwagÄ™ na możliwość wykorzystania for_each z bibliotekami boost::bind oraz boost::lambda
  • jako konstrukcjÄ™ BOOST_FOREACH z biblioteki boost
  • Instrukcja switch

    Tak samo jak w C, C++, PHP i Javie.

     switch (wyrażenie) {
         case wartość1:
             instrukcje;
             break;
         case wartość2:
             instrukcje;
             break;
         default:
             instrukcje;
             break;
     }
    

    Obiekty

    W ECMAScripcie wszystko jest obiektem. Podstawowym obiektem jest Object. Standard ECMA opisuje także obiekty Array (tablica), String (ciąg znaków), Number (liczba całkowita lub rzeczywista), Boolean (wartość logiczna), Function (funkcja ECMAScriptu), Date (data) i Math (operacje matematyczne).

    Definicja intuicyjna: Java (wym. "dżawa") to język programowania. Programy napisane w Javie można uruchamiać na wielu urządzeniach, takich jak telefony komórkowe lub komputery oraz pod różnymi systemami operacyjnymi, przy użyciu Wirtualnej maszyny Javy, która musi być w danym środowisku zainstalowana.

    Dostęp do pól i metod

    Obiekty ECMAScriptu są tablicami asocjacyjnymi. Dostęp do pól obiektów jest możliwy przy użyciu dwóch równoważnych notacji: obiekt.pole i obiekt["pole"]. Trzecią możliwością (aczkolwiek w większości wypadków - niewygodną) jest skorzystanie z numeru danego pola: obiekt[1].

    Ponieważ metody obiektu (funkcje) są jego polami, także do nich dostęp jest możliwy przy użyciu zarówno notacji z kropką, jak i notacji z nawiasami kwadratowymi. Poniższe dwie linie kodu są zatem równoważne:

      m.metoda1();
      m["metoda1"]();
    

    Obie notacje z nawiasami kwadratowymi zwyczajowo stosuje się jednak przy korzystaniu z tablic powstałych jako obiekt Array.

    Dostęp do pól i metod obiektu ułatwia instrukcja wiążąca "with" obecna wcześniej w Pascalu czy Delphi. Poniższe konstrukcje są równoważne:

    obiekt.pole1=wartość;
    obiekt.pole2=wartość;
    

    i

    with (obiekt)
    { pole1=wartość;
      pole2=wartość;
    }
    

    Definiowanie własnego obiektu

    Aby zdefiniować własny obiekt wystarczy utworzyć funkcję konstruktora:

    // funkcja konstruktora
    function MojObiekt(poleA, poleB) {
      this.poleA = poleA;
      this.poleB = poleB;
     
      function _metoda1() {
        alert("mojObiekt::metoda1()");
      }
      this.metoda1 = _metoda1;
     
      function _metoda2() {
        alert("mojObiekt::metoda2()");
      }
      this.metoda2 = _metoda2;
     
    }
    

    Dalsza część opisu mówi o "klasach", mimo że w przypadku ECMAScriptu 1.x pojęcie "klasy" jest nieformalne. "Klasa" oznacza tutaj zbiór obiektów utworzonych przy użyciu tego samego konstruktora.

    Aby utworzyć instancję klasy MojObiekt, należy skorzystać z operatora new:

      var m = new MojObiekt(2, 3);
    

    Podobnie jak w Javie, nowe obiekty w ECMAScripcie tworzone są na stercie. W przypadku kiedy do danego obiektu nie istnieje już żadna referencja mechanizm garbage collectora usuwa dany obiekt z pamięci.

    Funkcje

    Funkcje w ECMAScripcie definiujemy przy użyciu słowa kluczowego function, a jej argumenty podajemy w nawiasach:

    function dodajDwieLiczby(a, b) {
      return a+b;
    }
    

    Funkcje są jednocześnie obiektami typu Function. Obiekt ten ma konstruktor przyjmujący jako argument ciąg znaków, powyższą funkcję można więc także zdefiniować w sposób następujący:

    dodajDwieLiczby = new Function("a", "b", "return a+b;");
    

    Ostatni argument Function() jest treścią kodu funkcji, pozostałe to nazwy parametrów. Ten sposób tworzenia funkcji bywa jednak mało wydajny.

    Podobny sposób na deklarowanie funkcji:

    dodajDwieLiczby = function(a, b) {
      return a+b;
    }
    

    W przeciwieństwie do Javy ECMAScript pozwala także operować na referencjach do funkcji:

      function dodaj(a,b) {
        alert(a+b);
      }
     
      function odejmij(a,b) {
        alert(a-b);
      }
     
      var g = dodaj;
     
      g(7,3); // wyświetla "10"
     
      g = odejmij;
     
      g(7,3); // wyświetla "4"
    

    Dziedziczenie

    W implementacjach ECMAScript V3 dziedziczenie realizowane jest przez prototypy. Jeśli chcemy utworzyć klasę Pochodna dziedziczącą po klasie Bazowa, ustawiamy pole Pochodna.prototype na nową instancję klasy Bazowa:

      function Bazowa() {
        this.metodaA = function() {
          alert("Bazowa::A()");
        }
        this.metodaB = function() {
          alert("Bazowa::B()");
        }
      }
     
      function Pochodna() {
        // metodaB przeciąża odpowiednią metodę z klasy Bazowa:
        this.metodaB = function () {
          alert("Pochodna::B()");
        }
      }
      Pochodna.prototype = new Bazowa();
     
      x = new Bazowa();
      y = new Pochodna();
     
      x.metodaA(); // wyświetla: "Bazowa::A()"
      y.metodaA(); // wyświetla: "Bazowa::A()"
      x.metodaB(); // wyświetla: "Bazowa::B()"
      y.metodaB(); // wyświetla: "Pochodna::B()"
    

    Istnieją inne sposoby na uzyskanie dziedziczenia w ECMAScripcie. Osoby przyzwyczajone do Javy lub C++ mogą zmodyfikować prototyp obiektu Object w następujący sposób:

      Object.prototype.extending = function (supClass) {
        tempObj = new supClass();
        for (property in tempObj) {
            this[property] = tempObj[property];       
        } 
      };
    

    by później w funkcjach konstruktora korzystać z metody extending(), rozwiązującej szybko problem dziedziczenia (używamy nazwy "extending" zamiast "extends", gdyż to drugie słowo jest słowem zastrzeżonym w ECMAScripcie). Oto przykład:

      function Bazowa() {
     
        this.value = 5;
     
        this.metoda1 = function () {
            alert("Bazowa::metoda1() " + this.value);
        }
     
        this.metoda2 = function () {
            alert("Bazowa::metoda2()");
        }
     
      }
     
      function Pochodna() {
        this.extending(Bazowa);
     
        this.metoda1 = function () {
            alert("Pochodna::metoda1() " + this.value);
        }
      }
    

    Ważne tylko, żeby extending() wywoływać jako pierwszą instrukcję w konstruktorze.


    Obsługa wyjątków

    Do obsługi wyjątków w ECMAScripcie wykorzystywana jest "klasa" Error, odpowiadająca znanej z Javy klasie Exception.

    Aby wyrzucić nowy wyjątek, należy skorzystać z instrukcji throw:

      function zrobCos() {
        throw new Error("Komunikat wyjÄ…tku");
      }
    

    Aby obsłużyć wyjątek, należy zastosować konstrukcję try...catch...finally (przy czym finally jest opcjonalne):

      try {
        zrobCos();
      } catch (wyjatek) {
        alert("Nastąpił wyjątek: " + wyjatek.toString());
      } finally {
        posprzataj();
      }
      ...
      throw("nastapil blad");
    

    Linki zewnętrzne

  • Standard ECMA-262
  • Implementacja ECMAScript firmy Digital Mars - DMDScript





  • Powyższa treść oraz zamieszczone w niej powiÄ…zane definicje/pojÄ™cia - udostÄ™pniane sÄ… na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwoÅ›ciÄ… obowiÄ…zywania dodatkowych ograniczeÅ„. Zobacz szczegółowe informacje o warunkach korzystania

    Wszystkie hasła znajdujące się w naszym mirrorze Wikipedii mają znaczenie informacyjne i edukacyjne.
    Nie mogą być traktowane jako porady.