Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: co oznacza słowo implements?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
finito
Jak w temacie. Szukam w google i szukam i nie mogę znaleźć żadnej definicji. Zacząłem analizować skrypt rozwijanego menu, ktory zaczyna się od Implements:Option. Może ktoś link jakiś zapodać? Już pal sześć niech będzie po angielsku...
Crozin
Podaj fragment kodu.

W JS implements nie ma żadnego zastosowania, ale jest słowem zastrzeżonym na potrzeby przyszłego rozwoju języka (patrz MDN: https://developer.mozilla.org/en-US/docs/We.../Reserved_Words ). W językach z klasyczną, bazującą na klasach obiektówką służy ono do poinformowania kompilatora/interpretera o tym, że dana klasa jest implementacją danego interfejsu*.

* w JS interfejsy nie występują.
finito
Jednak chyba ma jakieś zastosowanie:

[code]
var MenuMatic = new Class({
Implements: Options,
options: {
id: 'nav',
( jakiś dalszy kod)
});
[code]

To jest drobny fragment kodu js do obsługi rozwijanego menu.
Crozin
Jest to zwyczajna właściwość obiektu, taka sama jak "id" czy "options" z fragmentu, który podałeś - zapewne to angielskie słówko najlepiej oddaje jej charakter. Zauważ, że autor zapisał ten klucz wielką literą ponieważ w przypadku zapisu małą mógłby posypać się błędy. W JS wielkość znaków ma znaczenie i tak na przykład "var" jest słowem kluczowym, a "Var" zwykły identyfikatorem (np. nazwą zmiennej).

PS. Jest to raczej zła praktyka, ponieważ łatwo może doprowadzić ona do niejednoznaczności kodu - sam zresztą jesteś tego najlepszym przykładem. wink.gif
finito
Domyślałem się tej wieloznaczności, o której napisałeś. Rzeczywiście może ona wprowadzać w błąd. Mnie zaś zastanawia coś zupełnie innego. To słowo "Implements" w przypadku tego kodu oznacza po prostu zbiór opcji (czyt. tak domniemam). Kłopot jednak w tym, że gdy zmieniam poszczególne wartości tych opcji (lub narzędzi jak kto woli), to w działaniu strony nie ma żadnych różnic. Muszę przyznać, że to znacznie utrudnia mi analizę tego kodu.

O właśnie, tak przy okazji. Zainteresowałem się tym, bo chciałbym przeanalizować jakiś kod js, który służy właśnie do budowania rozwijanego wielopoziomowego menu. Czy możesz zapodać jakiś link?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.