From 9300e1df2b85949be1c0e858e7436c51bd1612da Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Wed, 7 Jul 2021 12:37:56 -0400 Subject: delete all remaining orphaned pages in pl (#1417) --- .../index.html" | 146 -- .../index.html" | 171 --- files/pl/orphaned/dom_i_javascript/index.html | 87 -- .../index.html" | 82 -- .../firefox_-_potrzeba_wolno\305\233ci/index.html" | 22 - .../firefox_3_dla_programist\303\263w/index.html" | 280 ---- .../lista_komponent\303\263w_xpcom/index.html" | 20 - .../howto/create_an_mdn_account/index.html | 42 - .../howto/do_a_technical_review/index.html | 50 - .../howto/do_an_editorial_review/index.html | 67 - .../howto/set_the_summary_for_a_page/index.html | 51 - .../howto/tag_javascript_pages/index.html | 76 -- .../orphaned/modu\305\202y_javascript/index.html" | 24 - .../getting_started_with_web-ext/index.html | 297 ----- .../pl/orphaned/narz\304\231dzia_clone/index.html" | 83 -- files/pl/orphaned/nsiinputstream/index.html | 42 - files/pl/orphaned/nsixulappinfo/index.html | 26 - .../index.html" | 116 -- files/pl/orphaned/programowanie_mozilli/index.html | 17 - .../index.html" | 62 - .../index.html" | 143 -- files/pl/orphaned/web/api/childnode/index.html | 191 --- .../orphaned/web/api/childnode/remove/index.html | 92 -- .../web/api/elementcssinlinestyle/style/index.html | 53 - .../api/htmlorforeignelement/dataset/index.html | 135 -- .../api/htmlorforeignelement/tabindex/index.html | 32 - .../navigator/registercontenthandler/index.html | 50 - .../web/api/parentnode/children/index.html | 97 -- files/pl/orphaned/web/api/parentnode/index.html | 91 -- .../web/api/stylesheet/ownerrule/index.html | 25 - .../web/api/uievent/cancelbubble/index.html | 16 - .../creating_and_triggering_events/index.html | 35 - files/pl/orphaned/web/guide/html/html5/index.html | 173 --- .../orphaned/web/html/element/comment/index.html | 34 - .../index.html" | 22 - .../instrukcje_manipulacji_obiektem/index.html" | 52 - .../index.html" | 44 - .../instrukcja_throw/index.html" | 47 - .../instrukcja_try...catch/index.html" | 116 -- .../instrukcja_break/index.html" | 29 - .../instrukcja_continue/index.html" | 53 - .../instrukcja_do_...while/index.html" | 25 - .../instrukcja_for/index.html" | 58 - .../instrukcja_label/index.html" | 25 - .../instrukcja_while/index.html" | 40 - .../o_tym_przewodniku/index.html" | 161 --- .../obiekt_array/index.html" | 96 -- .../obiekt_boolean/index.html" | 16 - .../obiekty_predefiniowane/obiekt_date/index.html" | 89 -- .../obiekt_function/index.html" | 52 - .../obiekty_predefiniowane/obiekt_math/index.html" | 74 -- .../obiekt_number/index.html" | 85 -- .../obiekt_regexp/index.html" | 14 - .../obiekt_string/index.html" | 94 -- .../operatory/operatory_przypisania/index.html" | 69 - .../podgl\304\205d_klas_liveconnect/index.html" | 49 - .../praca_z_przyk\305\202adem/index.html" | 39 - .../tworzenie_hierarchii/index.html" | 151 --- .../dodawanie_w\305\202asno\305\233ci/index.html" | 25 - .../index.html" | 35 - .../w\305\202asno\305\233ci_obiektu/index.html" | 21 - .../index.html" | 124 -- .../praca_z_zamkni\304\231ciami/index.html" | 288 ---- .../definiowanie_metod/index.html" | 50 - .../index.html" | 21 - .../index.html" | 18 - .../tworzenie_nowych_obiekt\303\263w/index.html" | 24 - .../usuwanie_w\305\202asno\305\233ci/index.html" | 28 - .../u\305\274ywanie_inicjacji_obiektu/index.html" | 38 - .../index.html" | 34 - .../index.html" | 64 - .../index.html" | 45 - .../index.html" | 217 --- .../zastosowanie_obiektu_arguments/index.html" | 43 - .../web/javascript/na_pocz\304\205tek/index.html" | 904 ------------- .../global_objects/array/prototype/index.html | 13 - .../reference/global_objects/map/clear/index.html | 88 -- .../reference/global_objects/map/delete/index.html | 86 -- .../global_objects/map/entries/index.html | 129 -- .../global_objects/map/foreach/index.html | 105 -- .../reference/global_objects/map/get/index.html | 81 -- .../reference/global_objects/map/has/index.html | 86 -- .../reference/global_objects/map/index.html | 459 ------- .../reference/global_objects/map/keys/index.html | 79 -- .../reference/global_objects/map/set/index.html | 97 -- .../reference/global_objects/map/size/index.html | 66 - .../reference/global_objects/map/values/index.html | 78 -- .../operators/pipeline_operator/index.html | 66 - .../konwencje_formatowania_tekstu/index.html | 33 - .../information_security_basics/index.html | 37 - .../index.html" | 1391 -------------------- 91 files changed, 9301 deletions(-) delete mode 100644 "files/pl/orphaned/aktualizacja_rozszerze\305\204_dla_firefoksa_3/index.html" delete mode 100644 "files/pl/orphaned/api_dost\304\231pu_do_danych_z_kana\305\202\303\263w/index.html" delete mode 100644 files/pl/orphaned/dom_i_javascript/index.html delete mode 100644 "files/pl/orphaned/dynamiczne_zmiany_interfejsu_u\305\274ytkownika_bazuj\304\205cego_na_xul-u/index.html" delete mode 100644 "files/pl/orphaned/firefox_-_potrzeba_wolno\305\233ci/index.html" delete mode 100644 "files/pl/orphaned/firefox_3_dla_programist\303\263w/index.html" delete mode 100644 "files/pl/orphaned/lista_komponent\303\263w_xpcom/index.html" delete mode 100644 files/pl/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html delete mode 100644 files/pl/orphaned/mdn/contribute/howto/do_a_technical_review/index.html delete mode 100644 files/pl/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html delete mode 100644 files/pl/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html delete mode 100644 files/pl/orphaned/mdn/contribute/howto/tag_javascript_pages/index.html delete mode 100644 "files/pl/orphaned/modu\305\202y_javascript/index.html" delete mode 100644 files/pl/orphaned/mozilla/add-ons/webextensions/getting_started_with_web-ext/index.html delete mode 100644 "files/pl/orphaned/narz\304\231dzia_clone/index.html" delete mode 100644 files/pl/orphaned/nsiinputstream/index.html delete mode 100644 files/pl/orphaned/nsixulappinfo/index.html delete mode 100644 "files/pl/orphaned/porady_odno\305\233nie_tworzenia_szybko_\305\202aduj\304\205cych_si\304\231_stron_html/index.html" delete mode 100644 files/pl/orphaned/programowanie_mozilli/index.html delete mode 100644 "files/pl/orphaned/przygotowanie_\305\233rodowiska_programowania_rozszerzenia/index.html" delete mode 100644 "files/pl/orphaned/tutorial_lokalizacji_rozszerze\305\204_do_firefoksa_i_thunderbirda_dla_wersji_1.0_i_wy\305\274szych/index.html" delete mode 100644 files/pl/orphaned/web/api/childnode/index.html delete mode 100644 files/pl/orphaned/web/api/childnode/remove/index.html delete mode 100644 files/pl/orphaned/web/api/elementcssinlinestyle/style/index.html delete mode 100644 files/pl/orphaned/web/api/htmlorforeignelement/dataset/index.html delete mode 100644 files/pl/orphaned/web/api/htmlorforeignelement/tabindex/index.html delete mode 100644 files/pl/orphaned/web/api/navigator/registercontenthandler/index.html delete mode 100644 files/pl/orphaned/web/api/parentnode/children/index.html delete mode 100644 files/pl/orphaned/web/api/parentnode/index.html delete mode 100644 files/pl/orphaned/web/api/stylesheet/ownerrule/index.html delete mode 100644 files/pl/orphaned/web/api/uievent/cancelbubble/index.html delete mode 100644 files/pl/orphaned/web/guide/events/creating_and_triggering_events/index.html delete mode 100644 files/pl/orphaned/web/guide/html/html5/index.html delete mode 100644 files/pl/orphaned/web/html/element/comment/index.html delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/dodawanie_obiektom_nowej_funkcjonalno\305\233ci/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_manipulacji_obiektem/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/instrukcja_throw/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/instrukcja_try...catch/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_break/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_continue/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_do_...while/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_for/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_label/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_while/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/o_tym_przewodniku/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_array/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_boolean/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_date/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_function/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_math/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_number/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_regexp/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_string/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/operatory/operatory_przypisania/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/podgl\304\205d_klas_liveconnect/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/tworzenie_hierarchii/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/dodawanie_w\305\202asno\305\233ci/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/dziedziczenie_w\305\202asno\305\233ci/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_wyra\305\274eniami_regularnymi/przyk\305\202ady_wyra\305\274e\305\204_regularnych/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_zamkni\304\231ciami/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/definiowanie_metod/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/definiowanie_w\305\202asno\305\233ci_typu_obiektu/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/indeksowanie_w\305\202asno\305\233ci_obiektu/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/usuwanie_w\305\202asno\305\233ci/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/u\305\274ywanie_inicjacji_obiektu/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/zastosowanie_'this'_do_obiektu_referencji/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/zastosowanie_konstruktor\303\263w_funkcji/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_wyra\305\274enia_regularnego/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/zapisywanie_wzorca_wyra\305\274enia_regularnego/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/zastosowanie_obiektu_arguments/index.html" delete mode 100644 "files/pl/orphaned/web/javascript/na_pocz\304\205tek/index.html" delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/array/prototype/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/clear/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/delete/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/entries/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/foreach/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/get/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/has/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/keys/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/set/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/size/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/global_objects/map/values/index.html delete mode 100644 files/pl/orphaned/web/javascript/reference/operators/pipeline_operator/index.html delete mode 100644 files/pl/orphaned/web/javascript/referencje/o_tym_dokumencie/konwencje_formatowania_tekstu/index.html delete mode 100644 files/pl/orphaned/web/security/information_security_basics/index.html delete mode 100644 "files/pl/orphaned/wsparcie_przegl\304\205darek_dla_element\303\263w_html/index.html" diff --git "a/files/pl/orphaned/aktualizacja_rozszerze\305\204_dla_firefoksa_3/index.html" "b/files/pl/orphaned/aktualizacja_rozszerze\305\204_dla_firefoksa_3/index.html" deleted file mode 100644 index 89e57df9e3..0000000000 --- "a/files/pl/orphaned/aktualizacja_rozszerze\305\204_dla_firefoksa_3/index.html" +++ /dev/null @@ -1,146 +0,0 @@ ---- -title: Aktualizacja rozszerzeń dla Firefoksa 3 -slug: orphaned/Aktualizacja_rozszerzeń_dla_Firefoksa_3 -tags: - - Firefox 3 -original_slug: Aktualizacja_rozszerzeń_dla_Firefoksa_3 ---- -

W tym artykule znajdują się informacje dla deweloperów chcących dostosować swoje rozszerzenia do pracy w Firefox 3.

- -

Zanim przejdziemy dalej, chcemy przedstawić jedną pomocną wskazówkę: jeśli jedyną zmianą, której wymaga twoje rozszerzenie, jest zmiana pola maxVersion w jego manifeście instalacji, i przechowujesz rozszerzenie na addons.mozilla.org, nie potrzebujesz teraz wgrywać nowej wersji swojego rozszerzenia. Po prostu użyj Developer Control Panel na AMO, by ustawić maxVersion. W ten sposób możesz uniknąć konieczności ponownego zrecenzowania rozszerzenia.

- -

Krok 1: Zaaktualizuj manifest instalacji

- -

Pierwszym krokiem - dla wielu rozszerzeń jedynym, jaki będzie potrzebny - jest aktualizacja pliku manifestu instalacji, install.rdf.

- -

Wystarczy znaleźć linię wskazującą maksymalną kompatybilną wersję Firefoksa (która dla Firefoksa 2, może wyglądać podobnie jak linia poniżej):

- -
 <em:maxVersion>2.0.0.*</em:maxVersion>
-
- -

Zmieniamy ją, wskazując kompatybilność z Firefoksem w wersji 3:

- -
 <em:maxVersion>3.0.*</em:maxVersion>
-
- -

Następnie ponownie instalujemy rozszerzenie.

- -

Zauważ, że program Firefox 3 nie potrzebuje dodatkowego ".0" w numerze wersji, tak więc zamiast "3.0.0.* możesz używać tylko "3.0.*".

- -
Uwaga: Zauważ, że Firefox 3 nadal zmienia się. Te zmiany mogą spowodować nieprawidłowe działanie niektórych rozszerzeń, więc nie powinieneś udostępniać użytkownikom rozszerzenia z maxVersion 3.0.* zanim Firefox 3 w wersji RC nie zostanie wypuszczony. W okresie Firefox 3 Beta powinieneś używać3.0b3 jako maxVersion.
- -

Pewne zmiany API nadal będą wprowadzane. Zmiany te prawdopodobnie zmienią działanie niektórych rodzajów rozszerzeń. Nadal pracujemy nad kompilacją kompletnej listy tychże zmian.

- -
Uwaga: Jeżeli twoje rozszerzenia nadal używają skryptu Install.js zamiast manifestu instalacyjnego (ang. install manifest), musisz natychmiast przekompilować swoje rozszerzenia do manifestu instalacyjnego. Firefox 3 nie obsługuje już skryptów install.js w plikach XPI.
- -

Dodawanie lokalizacji do manifestu instalacji

- -

Firefox 3 obsługuje nowe własności w manifeście instalacji do wskazujących zlokalizowanych opisów. Stare metody nadal będą działać, jednakże nowe pozwolą Firefoksowi zebrać lokalizacje nawet gdy opcja dodatków jest wyłączona i oczekuje na instalację. Zobacz artykuł nt. lokalizacji opisu rozszerzenia, aby uzyskać więcej informacji.

- -

Krok 2: Upewnij się, że dostarczasz bezpiecznych aktualizacji

- -

Jeśli trzymasz rozszerzenie na własnym serwerze i nie jest to bezpieczny dostawca hostingu tak jak na przykład addons.mozilla.org to musisz zapewnić bezpieczną metodę aktualizacji Twojego dodatku. This will either involve hosting your updates on an SSL website, or using cryptographic keys to sign the update information. Przeczytaj artykuł Securing Updates, aby zdobyć więcej informacji.

- -

Krok 3: Uporaj się ze zmianami w API

- -

Kilka API zostało zmienione w znaczny sposób. Najbardziej zmienione, które najprawdopodobniej będą miały wpływ na duża liczbę rozszerzeń, to:

- -

DOM

- - -

Przed włączeniem węzłów pochodzących z zewnętrznych dokumentów do bieżącego dokumentu konieczne jest ich sklonowanie za - pomocą metody document.importNode() (lub zaadaptowanie przy użyciu metody document.adoptNode()). Więcej informacji na temat własności - Node.ownerDocument znajduje się na liście najczęściej zadawanych pytań na temat - DOM w witrynie W3C.

- -

Aktualnie Firefox nie wymusza tej reguły (robił to przez pewien czas podczas cykli rozwojowych Firefoksa 3, ale zbyt - dużo stron przestawało działać po wymuszeniu tej reguły). Zachęcamy autorów stron do poprawienia ich kodu dla lepszej - kompatybilności w przyszłości.

- -

Zakładki & Historia

- -

Jeśli twoje rozszerzenie w jakikolwiek sposób dotyczy listy Zakładek lub Historii, będzie ono wymagało dodatkowych zmian, aby poprawnie działać z Firefoksem 3. Stare API dla tych list zostało zastąpione nową architekturą Miejsca. Zobacz Migration Guide for Places, by uzyskać szczegóły aktualizacji.

- -

Menadżer pobierania

- -

API Menedżera pobierania zmieniło się nieznacznie ze względu na przejście z RDF do przechowywania danych za pomocą Storage API. To powinno być dość łatwe do przejścia. Interfejs API do monitorowania postępu pobierania został zmieniony w celu wspierania wielu czytników Menedżera pobierania. W celu zdobycia większej liczby informacji, idź do nsIDownloadManager, nsIDownloadProgressListener i Monitoring downloads.

- -

Menadżer haseł

- -

Jeśli twoje rozszerzenie wykorzystuje Menadżer haseł do logowania użytkownika, konieczne będzie dostosowanie się do nowego API Menedżera logowania.

- - - -

Popups (menu, menu kontekstowe, podpowiedzi i paneli)

- -

XUL Popup system został mocno zmodyfikowany w Firefoksie 3. Popup System zawiera główne menu, menu kontekstowego i pop-panele. Przewodnik za pomocą Popups została utworzona, dowiedzą się jak działa system. Jedną rzeczą jest, aby zapamiętać, że using Popups popup.showPopup popup.został wycofany na rzecz nowychopenPopup i popup.openPopupAtScreen.

- -

Usunięte interfejsy

- -

Następujące interfejsy zostały usunięte z Gecko 1.9. Jeśli rozszerzenie korzysta z któregoś z podanych, musisz zaaktualizować kod:

- - - -

Krok 4: Kilka istotnych zmian chrome

- -

Nastąpiły niewielkie zmiany w chrome, które mogą wymagać zmian w kodzie. Nowy vbox został dodany, tak zwany " bottombox przeglądarki", który załącza się w pasku górnym i pasku stanu na dole okna przeglądarki. Chociaż nie ma to wpływu na wygląd wyświetlacza, może wpłynąć na rozszerzenie czy chrome nakładki w stosunku do tych elementów.

- -

Na przykład, jeśli wcześniej pokrył niektóre chrome sprzed pasku stanu, w taki sposób:

- -
<window id="main-window">
-  <something insertbefore="status-bar" />
-</window>
-
- -


- Teraz nakładka powinna wyglądać w taki sposób:

- -
<vbox id="browser-bottombox">
-  <something insertbefore="status-bar" />
-</vbox>
-
- -
Uwaga: Zmiana została wprowadzona w Firefox w wersjach beta 3 i 4 pre-beta 4 nightlies.
- -

Inne zmiany

- - - -

Dotyczy to rozszerzenia, które zapewniają nowe URI.(błąd 337746)

- - - -

element nie jest już częścią "narzędzi" (błąd 339964). Oznacza to, że ten element nie jest już dostępny w aplikacjach XUL i rozszerzeniach. To nadal jest używany w oknie głównym programu Firefox (browser.xul).

- - - -

i ewentualnie do gwintowania związanych interfejsów muszą być udokumentowane.

- - diff --git "a/files/pl/orphaned/api_dost\304\231pu_do_danych_z_kana\305\202\303\263w/index.html" "b/files/pl/orphaned/api_dost\304\231pu_do_danych_z_kana\305\202\303\263w/index.html" deleted file mode 100644 index acd06f6c30..0000000000 --- "a/files/pl/orphaned/api_dost\304\231pu_do_danych_z_kana\305\202\303\263w/index.html" +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: API dostępu do danych z kanałów -slug: orphaned/API_dostępu_do_danych_z_kanałów -tags: - - Dodatki - - Rozszerzenia - - Wszystkie_kategorie -original_slug: API_dostępu_do_danych_z_kanałów ---- -

 

-

Firefox 2 oraz Thunderbird 2 wprowadzają serię interfejsów, które pozwalają programistom rozszerzeń w łatwy sposób uzyskiwać dostęp do kanałów RSS i Atom.

-

Interfejsy kanałów

-
-
- nsIFeed
-
- Reprezentuje kanał RSS lub Atom.
-
- nsIFeedContainer
-
- Bazowa klasa, z której dziedziczy kilka interfejsów związanych z kanałami.
-
- nsIFeedElementBase
-
- Bazowa klasa, z której dziedziczy kilka interfejsów związanych z kanałami.
-
- nsIFeedEntry
-
- Reprezentuje pojedynczy wpis kanału RSS lub Atom.
-
- nsIFeedGenerator
-
- Opisuje software, za pomocą którego wygenerowano kanał RSS lub Atom.
-
- nsIFeedPerson
-
- Reprezentuje osobę. Zawiera imię oraz nazwisko osoby, jej adres email oraz adres jej strony domowej.
-
- nsIFeedProcessor
-
- Parsuje kanały RSS oraz Atom.
-
- nsIFeedProgressListener
-
- Zaimplementowane przez program chcący parsować kanały RSS lub Atom w celu otrzymywania wiadomości podczas procesu parsowania.
-
- nsIFeedResult
-
- Opisuje rezultat parsowania kanału.
-
- nsIFeedResultListener
-
- Zaimplementowane przez program chcący parsować kanały RSS lub Atom w celu otrzymywania potwierdzenia ukończenia procesu prasowania.
-
- nsIFeedTextConstruct
-
- Reprezentuje tekst w wątku; zawiera funkcje pozwalające na pobranie danego tekstu wyłącznie jako tekst lub HTML.
-
- nsIScriptableUnescapeHTML
-
- Klasa użytkowa przywracająca ciągi znaków HTML.
-
-

Przykład: Czytanie kanału z sieci

-

Bardzo łatwo można odczytać oraz parsować kanał. Użyj XMLHttpRequest by pobrać kanał, potem przekaż jego łańcuch do nsIFeedProcessor w celu przetworzenia.

-

Pobieranie kanału oraz wysyłanie go do parsowania może zostać zrobione za pomocą kodu podobnego do przedstawionego poniżej:

-
  fetch: function(feedUrl)
-  {
-    var httpRequest = null;
-
-    function infoReceived() {
-      var data = httpRequest.responseText;
-
-      var ioService = Components.classes['@mozilla.org/network/io-service;1']
-                                         .getService(Components.interfaces.nsIIOService);
-      var uri = ioService.newURI(feedUrl, null, null);
-
-      if (data.length) {
-        var parser = Components.classes["@mozilla.org/feed-processor;1"]
-                                        .createInstance(Components.interfaces.nsIFeedProcessor);
-        var listener = new FeedTestResultListener();
-        try {
-          parser.listener = listener;
-          parser.parseFromString(data, uri);
-        }
-        catch(e) {
-          alert("Error parsing feed.");
-        }
-      }
-    }
-
-    httpRequest = new XMLHttpRequest();
-
-    httpRequest.open("GET", feedUrl, true);
-    try {
-      httpRequest.onload = infoReceived;
-      httpRequest.send(null);
-    }
-    catch(e) {
-      alert(e);
-    }
-  }
-
-

Interfejs nsIFeedProcessor pozwala na parsowanie danych kanału z kilku możliwych źródeł; w tym przypadku ładujemy dokument do łańcucha, a następnie parsujemy go za pomocą metody parseFromString(). Można też parsować go z pliku za pomocą parseFromStream(), lub też bezpośrednio z adresu za pomocą parseAsync().

-

Właściwe parsowanie kanału dokonywane jest za pomocą metody nazywanej handleResult() na obiekcie FeedTestResultListener. Kod wygląda następująco:

-
    FeedTestResultListener.prototype = {
-      handleResult: function(result) {
-        var feed = result.doc;
-
-        feed.QueryInterface(Components.interfaces.nsIFeed);
-
-        // Otwórz nowe okno
-
-        var win = window.open("", "FeedTest_Window");
-        var doc = win.document;
-
-        doc.open();
-
-        // Zapisz nagłówek HTML oraz tytuł strony
-
-        doc.write("<html><head><title>Feed: " + feed.title.text + "</title></head><body>");
-        doc.write("<h1>" + feed.title.text + "</h1><p>");
-
-        var itemArray = feed.items;
-        var numItems = itemArray.length;
-
-        // Zapisz informacje zawartą w artykule
-
-        if (!numItems) {
-          doc.write("<i>No news is good news!</i>");
-        }
-        else {
-          var i;
-          var theEntry;
-          var theUrl;
-          var info;
-
-          for (i=0; i<numItems; i++) {
-            theEntry = itemArray.queryElementAt(i, Components.interfaces.nsIFeedEntry);
-
-            if (theEntry) {
-              theUrl =
-              doc.write('<b><a href="' + theEntry.link.resolve("") + '">' + theEntry.title.text + '</a></b><br>');
-              if (theEntry.summary) {
-                info = theEntry.summary.text + "<p><hr><p>";
-              }
-              else {
-                info = theEntry.content.text + "<p><hr><p>";
-              }
-              doc.write("<blockquote>" + info);
-              doc.write("</blockquote><p>");
-            }
-          }
-        }
-
-        // Zamknij dokument
-
-        doc.write("</body></html>");
-        doc.close();
-      }
-    }
-
-

Funkcja handleResult() otrzymuje jako argumenty obiekt typu nsIFeedResult opisujący kanał, oraz doc typu nsIFeed zawierające wszystkie dane kanału.

-

W celu uzyskania tytułu kanału należy spojrzeć na właściwość feed.title. Tytuł jest nsIFeedTextConstruct reprezentujący tekst zapisany w rożnych formatach; używając właściwości text uzyskamy tytuł kanału w formacie HTML. Można również użyć metody plainText() by uzyskać kopię jako zwykły tekst.

-

Następnie można przejrzeć uszeregowanie kanału za pomocą feed.items nsIArray. Uszeregowanie to zawiera obiekty nsIFeedEntry opisujące każdy składnik kanału.

-

Tworzenie zawartości dokumentu następuje poprzez pobranie tytułu, linka, podsumowania oraz zawartości własności poszczególnych składników. Pełny adres linka może zostać pobrany za pomocą metody linka resolve().

-

W celu rozpoczęcia pobierania kanału wywołujemy po prostu fetch( - - url - ). Otwierane jest wtedy nowe okno zawierające składniki kanału, których linki pozwalają na bezpośrednie odczytanie artykułu.

-

Szczegóły dostępu do poszczególnych interfejsów dostępowych kanału można znaleźć klikając w poniższe odnośniki.

-

{{ languages( { "es": "es/API_de_acceso_a_canales", "fr": "fr/Feed_content_access_API", "ja": "ja/Feed_content_access_API", "en": "en/Feed_content_access_API" } ) }}

diff --git a/files/pl/orphaned/dom_i_javascript/index.html b/files/pl/orphaned/dom_i_javascript/index.html deleted file mode 100644 index 3bf2eebb78..0000000000 --- a/files/pl/orphaned/dom_i_javascript/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: DOM i JavaScript -slug: orphaned/DOM_i_JavaScript -tags: - - DOM - - JavaScript - - Wszystkie_kategorie -original_slug: DOM_i_JavaScript ---- -

Ogólne pojęcie

- -

Efekty wizualne takie jak przesuwanie warstw na stronie, pokazywanie i ukrywanie ich, wyskakujące menu itd., są często określane pojęciami „DHTML” lub „Dynamiczny HTML”. Niektórzy kwestionują zasadność użycia tych technologii na stronach, które powinny przecież obejmować treść, a nie prezentację. Ale faktem jest, że technologie te nadal istnieją.

- -

Od kiedy pracuję nad tym projektem i mam kontakty z wieloma webmasterami, uderza mnie to, że duża ich część nie wie jak ich DHTML tak naprawdę działa. Większość z nich po prostu odnalazło stronę z repozytorium skryptów i skopiowali stamtąd kod na swoją stronę. Niestety, większość takich stron mówi o „JavaScripcie” i „DHTML-u”, jednak nigdy o „DOM”. Prawdą jest, że nawet jeśli DOM jest pomysłem starym, to pojęcie to weszło w „żargon przeciętnego webmastera” dopiero niedawno.

- -

Wielkim wyzwaniem dla projektów takich jak Mozilla jest by przekonać właścicieli tego typu stron, że warto kodować według W3C DOM (co oznacza niekiedy wiele mozolnej pracy czy utrata wsparcia dla starszych przeglądarek). Dużym wyzwaniem jest również zebrać wszystkie fakty w prosty sposób związane ze wsparciem dla W3C DOM. Netscape 6 był mocno krytykowany przez niezdarnych projektantów internetowych, którzy pisali swój kod „JavaScript” pod Netscape'a 4 oraz Internet Explorera używając document.layers i document.all. Każdego dnia staramy się pomagać ludziom na grupach newsowych, poprzez e-maile, Bugzillę, by ich strony były jak najbardziej zgodne ze standardami. Jednym z największych problemów jakie napotykamy, jest zamieszanie związane z JavaScriptem, DHTML-em oraz DOM. Ten dokument jest próbą wyjaśnienia tych problemów, wyjaśnienia relacji pomiędzy tymi wymyślnymi oraz przydatnymi technologiami.

- -

JavaScript — sieciowy język skryptowy

- -

JavaScript jest „obiektowym językiem skryptowym” początkowo opracowanym w Netscape Communications Corp. przez Brendana Eicha (który jest obecnie jednym z liderów projektu Mozilla). Silnik JavaScript używany przez Mozillę to SpiderMonkey, zgodny z 3 rewizją specyfikacji ECMA-262. JavaScript jest również znany jako ECMAScript (zobacz odsyłacz, aby uzyskać więcej informacji).

- -

Wbrew popularnemu przekonaniu, JavaScript nie jest „interpretowaną Javą”. Wewnątrz JavaScript jest dynamicznym językiem skryptowym wspierającym prototypową konstrukcję obiektów. Podstawowa składnia jest świadomie podobna do tej znanej z Javy i C++, by zminimalizować liczbę nowych pojęć potrzebnych do opanowania języka. Świetną rzeczą jest to, że jest on bardzo łatwy do nauczenia się, jeśli chcesz zajmować się prostszymi rzeczami (jak na przykład te w prostym DHTML-u). Niewidoczne typy zmiennych, niezwykle proste w użyciu łańcuchy znakowe, całkowita neutralność platformowa itd. Dla bardziej zaawansowanych programistów funkcjonuje on również jako język zarówno obiektowy jak i proceduralny.

- -

Odkryjesz, że większość informacji o JavaScripcie w tym akapacie pochodzi ze strony Mozilla JavaScript. Najnowsza wersja specyfikacji ECMA znajduje się tutaj.

- -

Obiektowy Model Dokumentu, neutralnie językowo zestaw interfejsów

- -

JavaScript jest językiem programowania, który pozwala Ci działać na obiektach DOM i manipulować nimi programowo, DOM natomiast dostarczy Ci metod oraz własności do pobierania, modyfikowania, uaktualniania i usuwać części dokumentu nad którym pracujesz. Przykładowo, możesz pobrać wartość pola tekstowego jako łańcuch znaków używając DOM. Następnie możesz użyć operatora JavaScript +, by połączyć go z innym łańcuchem znaków i stworzyć z tego sensowną treść. Gdy to zrobisz, możesz użyć metody DOM alert(), aby wyświetlić użytkownikowi nowy łańcuch znaków w oknie dialogowym. Zobacz również poniższe przykłady

- -

Jeśli strona internetowa byłaby importowanym szwedzkim meblem, DOM byłby ilustracjami jego elementów — półek, uchwytów, gwoździ oraz śrubokrętów. Możliwe jest napisanie instrukcji jak połączyć je w całość i używać tych elementów, instrukcji w wielu językach, ale Ty użyjesz tylko tego, który rozumiesz. Podręcznik ułatwia Ci złożenie tego mebla przy użyciu napisanych instrukcji (JavaScript) odwołujących się do przedstawionych ilustracji elementów (DOM), które reprezentują faktyczne obiekty (silnik renderujący przeglądarki) (dzięki Jonathanowi za analogię!).

- -

Czym jest ten cały szum wokół neutralności językowej i DOM? Dlaczego DOM jest językowo neutralny, skoro jedynym językiem używanym razem z nim jest JavaScript? No cóż, nie jest to do końca prawda. Na przykład, Mozilla używa wewnętrznie DOM jednocześnie z C++ i JavaScriptem w interfejsie użytkownika. Z kolei edytor używa DOM w celu wstawiania, modyfikowania i usuwania kodu HTML, który widzisz w fazie tworzenia strony w module Kompozytora. Inne znane implementacje DOM zawierają Perl, Java, ActiveX, Python oraz prawdopodobnie wiele innych. To wszystko możliwe jest tylko i wyłącznie dzięki neutralności językowej DOM.

- -

DOM a JavaScript — Co robi co?

- -

Docieramy do głównego gwoździa programu: Co robi co? Czym jest DOM, a czym JavaScript, w skrypcie, który zawarłem na mojej stronie? Spójrzmy bliżej na prosty przykład. Pobierze on wszystkie znaczniki <a> w listę węzłów (NodeList), którą nazwalismy anchorTags. Wtedy dla każdego znacznika kotwicy (każdy element z listy węzłów anchorTags) pojawi się komunikat z wartością atrybutu href.

- -

Kolor niebieski oznacza JavaScript, czerwony — DOM.

- -
var anchorTags = document.getElementsByTagName("a");
-for (var i = 0; i < anchorTags.length ; i++)
-{
-   alert("Atrybut href dla " + i + " elementu to: " + anchorTags[i].href + "\n");
-}
-
- -

Wyjaśnienia

- -

Ten fragment kodu wyjaśnia czym jest prawdziwy JavaScript, a czym DOM.

- -
-
var anchorTags =
-
To utworzy zmienną JavaScript o nazwie „anchorTags”.
-
document.getElementsByTagName("a")
-
Interfejs Document jest pierwszym interfejsem zdefiniowanym w DOM1 Core, a document jest głównym obiektem implementującym ten interfejs. Dokument przechowuje wszystko, co znajduje się na Twojej stronie.
- DOM1 Core definiuje metodę getElementsByTagName() w interfejsie Document. Pobiera ona do listy węzłów (NodeList, rodzaj specyficznej dla DOM tablicy, która przechowuje węzły) wszystkie znaczniki, które odpowiadają przekazanemu parametrowi (w kolejności występowania w źródle dokumentu). Tym samym anchorTags jest teraz listą węzłów.
-
;
-
Średnik kończący instrukcję w JavaScripcie.
-
for (var i = 0; i <
-
Typowa pętla „for” znana z wielu innych języków programowania. Pozwoli ona nam na przejście przez każdy węzeł zawarty w liście węzłów anchorTags. Zwróć uwagę na deklarację zmiennej „i”. To również JavaScript.
-
anchorTags.length
-
DOM1 Core definiuje własność length interfejsu NodeList. Zwraca ona liczbę całkowitą będącą ilością węzłów przechowywanych w liście węzłów. Zauważ, że tablica JavaScript również posiada własność length.
-
; i++) {
-
Typowa instrukcja JavaScript powiększająca wartość zmiennej o 1.
-
alert(
-
alert() jest metodą DOM, która pokazuje okno dialogowe z przekazanym parametrem (łańcuchem znaków). Zwróć uwagę, że metoda ta jest częścią tzw. poziomu 0 DOM poziomu 0 lub DOM0. DOM0 jest zbiorem interfejsów obsługiwanych przez niektóre przeglądarki, ale które nie są częścią żadnej specyfikacji DOM.
-
"Atrybut href dla " + i + " elementu to: "
-
Literały znakowe oraz operator ich łączenia (konkatenacji). JavaScript.
-
anchorTags{{ mediawiki.external('i') }}.href
-
href” jest własnością interfejsu HTMLAnchorElement zdefiniowanego w specyfikacji HTML DOM1. Zwraca wartość atrybutu href odnośnika, jeśli wartość ta istnieje.
- Używamy również anchorTags{{ mediawiki.external('i') }}, tej samej składni, która w JavaScripcie używana jest przy dostępie do i-tego elementu tablicy. Neutralnie językowym sposobem jest używanie metody item(), zdefiniowanej w interfejsie NodeList): anchorTags.item(1).href. Jednak większość implementacji JavaScriptu pozwala na używanie prostszej, tablicowej składni i takiej właśnie używa większość ludzi.
-
+ "\n");
-
Kolejne łączenie łańcuchów znaków. Wstawienie znaku powrotu karetki na końcu łańcucha znaków.
-
}
-
Koniec pętli „for”.
-
- -
-

Informacje o oryginalnej wersji dokumentu

- - -
- -

{{ languages( { "en": "en/The_DOM_and_JavaScript", "fr": "fr/Le_DOM_et_JavaScript", "ja": "ja/The_DOM_and_JavaScript" } ) }}

diff --git "a/files/pl/orphaned/dynamiczne_zmiany_interfejsu_u\305\274ytkownika_bazuj\304\205cego_na_xul-u/index.html" "b/files/pl/orphaned/dynamiczne_zmiany_interfejsu_u\305\274ytkownika_bazuj\304\205cego_na_xul-u/index.html" deleted file mode 100644 index 23ab821a4f..0000000000 --- "a/files/pl/orphaned/dynamiczne_zmiany_interfejsu_u\305\274ytkownika_bazuj\304\205cego_na_xul-u/index.html" +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Dynamiczne zmiany interfejsu użytkownika bazującego na XUL-u -slug: orphaned/Dynamiczne_zmiany_interfejsu_użytkownika_bazującego_na_XUL-u -tags: - - DOM - - Dodatki - - Rozszerzenia - - Wszystkie_kategorie - - XUL -original_slug: Dynamiczne_zmiany_interfejsu_użytkownika_bazującego_na_XUL-u ---- -

 

-

Poniższy artykuł opisuje manipulacje interfejsami XUL używając DOM oraz innych API. Objaśnia koncepcję - - dokumentów - DOM, pokazuje kilka prostych przykładów manipulacji dokumentami DOM oraz objaśnia pracę z - - anonimową treścią XBL-a - używając metod Mozilli.

-

Jest on napisany dla programistów początkujących i średnio zaawansowanych. Założono również, że czytelnik posiada podstawową wiedzę na temat XUL-a oraz JavaScriptu. Można również przejrzeć dokumenty wprowadzające do DOM, jak np. artykuł O modelu obiektowym dokumentu lub strona wprowadzenia na stronie Dokumentacja Gecko DOM.

-

Wstęp

-

XUL jest językiem XML-a używanym w różnych aplikacjach bazujących na Mozilli (tj. Firefox lub Thunderbird) do opisu interfejsu użytkownika.W aplikacjach XUL-a JavaScript definiuje zachowanie używając API DOM w celu uzyskania dostępu do dokumentu XUL-a.

-

Czym są API DOM?

-

Są one interfejsami używanymi do interakcji pomiędzy skryptem a dokumentem. Jeśli już napisałeś skrypt współpracujący z dokumentem XUL-a (lub HTML-a) to użyłeś wywołań DOM-a. Najbardziej znaną metodą DOM jest prawdopodobnie document.getElementById() zwracająca element na podstawie jego id. Mogłeś użyć również innych wywołań jak element.setAttribute() lub też jeśli pisałeś rozszerzenie addEventListener(). Wszystkie one są zdefiniowane w DOM-ie.

-

Istnieją też inne metody DOM, które tworzą, przenoszą lub usuwają elementy dokumentu. Zostaną one przedstawione w dalszych sekcjach. Teraz dowiedzmy się czym jest - - dokument - .

-

Czym jest dokument?

-

Dokument jest strukturą danych manipulowaną za pomocą API DOM. Strukturą logiczną jest drzewo, gdzie węzłami są elementy, atrybuty, instrukcje, komentarze itd. Użyj Inspektor DOM by zobaczyć reprezentacje dokumentu. Todo: simple example of a XUL document and a tree

-

Możesz myśleć o dokumencie jako o reprezentacji wewnątrz pamięci poprawnego kodu HTML lub XML (włącznie z XUL-em).

-

Ważnym jest by pamiętać, że różne strony (lub nawet różne instancje wewnątrz tej samej strony) odpowiadają różnym dokumentom. Każde okno XUL-a posiada swój własny dokument, a nawet kilka różnych dokumentów w jednym oknie, gdyż są tam elementy jak <iframe>, <browser> lub <tabbrowser>. Musisz być pewny, że zawsze manipulujesz odpowiednim dokumentem (więcej możesz dowiedzieć się z Working with windows in chrome code). Jeśli twój skrypt jest załączany za pomocą znacznika <script>, wtedy własność document odnosi się do dokumentu DOM zawierającego tenże skrypt.

-

Przykłady: Zastosowanie metod języka DOM

-

Poniższa sekcja pokazuje użycie metod DOM: appendChild(), createElement(), insertBefore() oraz removeChild().

-

Usuwanie wszystkich potomków elementów

-

Przykład usuwa wszystkich potomków elementu z aktualnego dokumentu posiadających id "someElement" przez wywołanie metody removeChild() w celu usunięcia pierwszego potomka, aż do momentu, gdy nie pozostanie więcej potomków.

-

Zauważ, że hasChildNodes() i firstChild są również częścią API DOM.

-
var element = document.getElementById("someElement");
-while(element.hasChildNodes())
-  element.removeChild(element.firstChild);
-
-

Dodawanie pozycji menu

-

Przykład dodaje dwa nowe elementy do <menupopup>: po jednym na początek oraz koniec. Używa metody document.createElementNS() do stworzenia elementów, a następnie insertBefore() oraz appendChild() do włączenia stworzonych elementów do dokumentu.

-

Uwaga:

- -
function createMenuItem(aLabel) {
-  const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
-  var item = document.createElementNS(XUL_NS, "menuitem"); // stwórz nowy element XUL menu
-  item.setAttribute("label", aLabel);
-  return item;
-}
-var popup = document.getElementById("myPopup"); // element <menupopup>
-var first = createMenuItem("Pierwsza pozycja");
-var last = createMenuItem("Ostatnia pozycja");
-popup.insertBefore(first, popup.firstChild);
-popup.appendChild(last);
-
-

Możesz użyć metod appendChild() i insertBefore() również do przesuwania istniejących elementów. Przykładowo możesz przenieść element nazwany "Pierwsza pozycja" na koniec menu poprzez dodanie poniższej linii na koniec kodu przedstawionego powyżej:

-
popup.appendChild(first);
-
-

Komenda usunie węzeł z aktualnej pozycji i doda go na końcu menu.

-

Anonimowa treść (XBL)

-

XBL jest językiem używanym przez Mozillę do definiowania nowych interfejsów. Nowe interfejsy zdefiniowane przez XBL mogą określić pewną treść, wbudowaną do ograniczonego elementu, w przypadku gdy wiązanie jest dołączone. W tym przypadku nazywa się to - - treścią anonimową - , która nie jest dostępna za pomocą normalnych metod DOM.

-

Należy wtedy używać metod interfejsu nsIDOMDocumentXBL. Przykładowo:

-
// pobiera pierwszego potomka danego węzła
-document.getAnonymousNodes(node)[0];
-
-// zwraca NodeList elementów anonimowych, których atrybut anonid równa się el1
-document.getAnonymousElementByAttribute(node, "anonid", "el1");
-
-

Patrz również getAnonymousNodes oraz getAnonymousElementByAttribute.

-

Po otrzymaniu anonimowego węzła możesz używać normalnych metod DOM do nawigacji oraz manipulowania resztą węzłów tegoż wiązania.

-

Zobacz również

- diff --git "a/files/pl/orphaned/firefox_-_potrzeba_wolno\305\233ci/index.html" "b/files/pl/orphaned/firefox_-_potrzeba_wolno\305\233ci/index.html" deleted file mode 100644 index 5bebd82f21..0000000000 --- "a/files/pl/orphaned/firefox_-_potrzeba_wolno\305\233ci/index.html" +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Firefox - potrzeba wolności -slug: orphaned/Firefox_-_potrzeba_wolności -tags: - - Prezentacje - - Wszystkie_kategorie -original_slug: Firefox_-_potrzeba_wolności ---- -

-

-

Prezentacja

- -

Podsumowanie

-

Ta prezentacja, przygotowana na potrzeby konferencji Wolne Oprogramowanie w Administracji Publicznej, tłumaczy potrzebę korzystania z wolnych standardów jako wymogu dobrze zaplanowanego zamówienia publicznego lub przetargu na system informatyczny. -Opisuje wykorzystanie krytycznie ważnych aplikacji użytkownika, takich jak przeglądarka internetowa, klient poczty czy komunikator i rolę jaką w ich rozwoju odgrywa wolne oprogramowanie. -Na przykładzie rynku przeglądarek i roli jaką odgrywa Firefox, autor pokazuje ukryte koszty i problemy jakie są zagrożeniem dla każdego projektu rozwijanego na bazie standardów własnościowych. -

-

Pytania i dyskusja

-

"Firefox_-_potrzeba_wolności" - Dyskusja -

diff --git "a/files/pl/orphaned/firefox_3_dla_programist\303\263w/index.html" "b/files/pl/orphaned/firefox_3_dla_programist\303\263w/index.html" deleted file mode 100644 index 6954c6a084..0000000000 --- "a/files/pl/orphaned/firefox_3_dla_programist\303\263w/index.html" +++ /dev/null @@ -1,280 +0,0 @@ ---- -title: Firefox 3 dla programistów -slug: orphaned/Firefox_3_dla_programistów -tags: - - Firefox 3 -original_slug: Firefox_3_dla_programistów ---- -

Jeżeli jesteś programistą chcącym opanować nowe możliwości Firefoksa 3, strona ta jest idealnym punktem startowym — znajdziesz tu listę artykułów opisujących nowości wprowadzone w przeglądarce. Choć nie wymieniono tu wszystkich zmian, wspomniane są wszystkie najważniejsze wprowadzone poprawki.

- -

Nowe możliwości dla programistów w Firefoksie 3

- -

Dla programistów stron i aplikacji internetowych

- -
-
Aktualizacja aplikacji internetowych dla Firefoksa 3
-
Artykuł zawiera informacje o zmianach, których wprowadzenie może się okazać niezbędne, aby w witrynie lub aplikacji internetowej można było w pełni wykorzystać nowe funkcje Firefoksa 3.
-
- -
-
Zdarzenia online i offline
-
Program Firefox 3 obsługuje określone w specyfikacji WHATWG zdarzenia online i offline, które umożliwiają aplikacjom i rozszerzeniom wykrycie, czy dostępne jest aktywne połączenie z Internetem, a także stwierdzenie przerwania lub wznowienia tego połączenia.
-
- -
-
Obsługa protokołów przez aplikacje WWW
-
Aplikacje internetowe można teraz zarejestrować jako funkcje obsługi protokołów, korzystając z metody navigator.registerProtocolHandler().
-
- -
-
Rysowanie tekstu przy użyciu canvas
-
Możliwe jest rysowanie tekstu w elemencie canvas za pomocą niestandardowego interfejsu API obsługiwanego przez program Firefox 3.
-
- -
-
Obsługa transformacji w elemencie canvas
-
Firefox obsługuje teraz metody transform() i setTransform() elementu canvas.
-
- -
-
Zastosowanie mikroformatów
-
W Firefoksie 3 dostępny jest teraz interfejs API do pracy z mikroformatami.
-
- -
-
Zdarzenia przeciągania i upuszczania
-
Program Firefox 3 obsługuje nowe zdarzenia wysyłane do węzła źródłowego podczas operacji przeciągania (przy rozpoczęciu i zakończeniu przeciągania).
-
- -
-
Zarządzanie fokusem w HTML
-
Obsługiwane są atrybuty activeElement i hasFocus zdefiniowane w specyfikacji HTML 5.
-
- -
-
Zasoby offline w Firefoksie
-
Aplikacje internetowe mogą teraz przechowywać zasoby w pamięci podręcznej programu Firefox, co pozwala na korzystanie z tych aplikacji w trybie offline.
-
- -
-
Poprawki CSS w Firefoksie 3
-
W programie Firefox 3 wprowadzono wiele udoskonaleń w obsłudze arkuszy stylów CSS.
-
- -
-
Poprawki DOM w Firefoksie 3
-
W programie Firefox 3 obsługiwanych jest wiele nowych funkcji DOM, w tym niektóre rozszerzenia DOM dostępne w przeglądarce Internet Explorer.
-
- -
-
Obsługa JavaScript 1.8
-
W programie Firefox 3 wprowadzono obsługę języka JavaScript w wersji 1.8.
-
- -
-
Obsługa EXSLT
-
W programie Firefox 3 obsługiwana jest znaczna część pakietów EXSLT, stanowiących rozszerzenia języka XSLT.
-
- -
-
Poprawki SVG w Firefoksie 3
-
Obsługa formatu SVG w Firefoksie 3 została w znacznym stopniu zaktualizowana — dostępnych jest między innymi ponad dwadzieścia nowych filtrów, a także nowe elementy i atrybuty.
-
- -
-
Animowane grafiki PNG
-
Firefox 3 obsługuje format animowanych obrazków PNG (APNG).
-
- -

Dla programistów XUL i rozszerzeń

- -
Znaczące zmiany i udoskonalenia
- -
-
Aktualizacja rozszerzeń dla Firefoksa 3
-
Przewodnik zawierający wszelkie potrzebne informacje dotyczące aktualizacji rozszerzenia w celu dostosowania go do Firefoksa 3.
-
- -
-
Poprawki XUL w Firefoksie 3
-
W programie Firefox 3 dostępnych jest wiele nowych elementów XUL, w tym suwaki do skalowania, okienka z kalendarzami umożliwiającymi ustawianie daty i godziny oraz przyciski strzałek służące do zwiększania i zmniejszania wprowadzonej wartości.
-
- -
-
Szablony w Firefoksie 3
-
Szablony zostały znacząco ulepszone. Kluczowe udoskonalenie polega na możliwości zastosowania własnych procesorów zapytań, co pozwala na korzystanie ze źródeł danych innych niż RDF.
-
- -
-
Bezpieczne aktualizacje
-
Aby uaktualnianie dodatków było bardziej bezpieczne, wszystkie instalowane dodatki muszą obsługiwać bezpieczną metodę pobierania aktualizacji. Dodatki udostępniane w witrynie addons.mozilla.org są wyposażone w tę funkcjonalność automatycznie. Wszystkie zainstalowane dodatki, które nie obsługuję bezpiecznej metody aktualizacji, zostaną automatycznie wyłączone po dokonaniu uaktualnienia do programu Firefox 3. Program Firefox będzie jednak nadal sprawdzał dostępność aktualizacji tych rozszerzeń (korzystając z niezabezpieczonej metody) i podejmował próbę ich zainstalowania (przy czym instalacja nie powiedzie się, jeżeli pobierana aktualizacja nie będzie obsługiwać bezpiecznej metody aktualizacji).
-
- -
-
Miejsca: przewodnik dla przeprowadzających migrację
-
Artykuł dotyczący aktualizacji istniejących rozszerzeń w celu przystosowania ich do interfejsu API Miejsc.
-
- -
-
Poprawki Menedżera pobierania plików w Firefoksie 3
-
W Menedżerze pobierania plików programu Firefox 3 wprowadzono nowe i udoskonalono istniejące interfejsy API, w tym obsługę wielu funkcji sprawdzających postęp pobierania.
-
- -
-
Zastosowanie interfejsu nsILoginManager
-
Menedżer haseł został zastąpiony nowym Menedżerem logowania.
-
- -
-
Zagnieżdżanie wiązań XBL
-
Za pomocą schematu URL data: możliwe jest teraz bezpośrednie zagnieżdżanie wiązań XBL zamiast przechowywania ich w osobnych plikach XML.
-
- -
-
Lokalizacja opisu rozszerzenia
-
W programie Firefox 3 dostępna jest nowa metoda lokalizacji metadanych dodatków. Zlokalizowane wersje tych danych dostępne są zaraz po pobraniu dodatku, jak również w razie wyłączenia go.
-
- -
-
Lokalizacja i liczba mnoga
-
W programie Firefox 3 dodano nowy moduł PluralForm, wspomagający prawidłowe tworzenie form liczby mnogiej słów w wielu wersjach językowych.
-
- -
-
Zmiany w motywie Firefoksa 3
-
Informacje i notatki dla osób tworzących motywy dla Firefoksa 3.
-
- -
-
Motywy i Firefox 3
-
Uwagi i informacje dla osób chcących tworzyć motywy dla Firefoksa 3.
-
- -
Nowe składniki i funkcje
- -
-
Biblioteka FUEL
-
Biblioteka FUEL zwiększa produktywność programistów rozszerzeń dzięki zmniejszeniu niedogodności wynikających z formalnego charakteru modelu XPCOM oraz wprowadzeniu niektórych nowoczesnych sposobów zastosowania języka JavaScript.
-
- -
-
Miejsca
-
API historii i zakładek zostało całkowicie zastąpione nowym API Miejsc.
-
- -
-
Usługa stanu bezczynności
-
W programie Firefox 3 dostępny jest nowy interfejs {{ Interface("nsIIdleService") }}, za pomocą którego można określić upływ czasu od ostatniego naciśnięcia klawisza lub przesunięcia kursora myszy przez użytkownika.
-
- -
-
Kreator archiwów ZIP
-
Nowy interfejs {{ Interface("nsIZipWriter") }} umożliwia tworzenie archiwów ZIP przez rozszerzenia.
-
- -
-
Powiększanie całych stron
-
Obsługa programu Firefox 3 jest łatwiejsza dzięki możliwości powiększania całych stron, a nie jedynie tekstu.
-
- -
-
Korzystanie z cyklicznego mechanizmu zbierania w XPCOM
-
W kodzie XPCOM można teraz korzystać z cyklicznego mechanizmu zbierania, który zwalnia nieużywaną pamięć, nie dopuszczając do jej wyciekania.
-
- -
-
Menedżer wątków
-
W programie Firefox 3 dostępny jest nowy interfejs {{ Interface("nsIThreadManager") }}, a także nowe interfejsy wątków i zdarzeń związanych z wątkami, które stanowią łatwą metodę tworzenia wątków i zarządzania nimi.
-
- -
-
Moduły JavaScript
-
W programie Firefox 3 dostępny jest nowy mechanizm udostępniania modułów kodu, umożliwiający tworzenie modułów JavaScript, które mogą być następnie ładowane przez rozszerzenia i aplikacje (podobnie jak współużytkowanie biblioteki).
-
- -
-
Interfejs nsIJSON
-
W programie Firefox 3 dostępny jest nowy interfejs {{ Interface("nsIJSON") }}, umożliwiający wysoko wydajne kodowanie i dekodowanie ciągów znaków w formacie JSON.
-
- -
-
Zastosowanie preferencji dotyczących treści
-
W programie Firefox 3 dodano nową usługę umożliwiającą pobieranie i ustawianie preferencji dotyczących określonych stron. Dane te mogą zostać wykorzystane w rozszerzeniach (a także w głównym kodzie) w celu śledzenia preferencji użytkownika dotyczących poszczególnych stron.
-
- -
-
Monitorowanie wtyczek
-
Nowy komponent systemu wtyczek może teraz obliczać ile zajmuje każdej z wtyczek (n.p., Macromedia Flash) wykonanie swoich wywołań.
-
- -
Poprawione błędy
- -
-
Istotne błędy poprawione w Firefoksie 3
-
Artykuł zawiera informacje o błędach, które zostały poprawione w Firefoksie 3.
-
- -

Nowe cechy istotne dla użytkowników końcowych

- -

Obsługa programu

- - - -

Bezpieczeństwo i prywatność

- - - -

Wydajność

- - - -

Zobacz także

- - - -
 
- -

{{ languages( { "en": "en/Firefox_3_for_developers", "es": "es/Firefox_3_para_desarrolladores", "fr": "fr/Firefox_3_pour_les_d\u00e9veloppeurs", "ja": "ja/Firefox_3_for_developers", "ko": "ko/Firefox_3_for_developers", "pt": "pt/Firefox_3_para_desenvolvedores", "zh-tw": "zh_tw/Firefox_3_for_developers" } ) }}

diff --git "a/files/pl/orphaned/lista_komponent\303\263w_xpcom/index.html" "b/files/pl/orphaned/lista_komponent\303\263w_xpcom/index.html" deleted file mode 100644 index 4b84be3011..0000000000 --- "a/files/pl/orphaned/lista_komponent\303\263w_xpcom/index.html" +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Lista komponentów XPCOM -slug: orphaned/Lista_komponentów_XPCOM -tags: - - Dokumentacja_API_XPCOM - - Komponenty - - Wszystkie_kategorie - - XPCOM -original_slug: Lista_komponentów_XPCOM ---- -

Będą tu komponenty - podobne do listy interfejsów. -

-

Komponenty, lista alfabetyczna (niekompletna)

- -
-
-{{ languages( { "en": "en/XPCOM_components_list", "fr": "fr/Liste_des_composants_XPCOM", "ja": "ja/XPCOM_components_list", "ko": "ko/XPCOM_components_list" } ) }} diff --git a/files/pl/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html b/files/pl/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html deleted file mode 100644 index 9106e6630c..0000000000 --- a/files/pl/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Jak utworzyć konto MDN -slug: orphaned/MDN/Contribute/Howto/Create_an_MDN_account -tags: - - Beginner - - Guide - - MDN - - nowy - - pierwsze kroki - - podręcznik - - zacznij -translation_of: MDN/Contribute/Howto/Create_an_MDN_account -original_slug: MDN/Contribute/Howto/Create_an_MDN_account ---- -
{{MDNSidebar}}

Wstęp współdworz MDN, sửa các thay đổi và các trang cần thiết là MDN. Profil does not we expected, unwatched MDN i useful załeych tu information. Ten krótkie poradnik Ci Successful Accounts MDN.

- -
Tại sao MDN lại cần email?
-
-Email của bạn cho phép khôi phục các tài khoản, cũng như các vấn đề quản trị MDN, để kết hợp với Tobą trong phần mềm hoặc thông tin.
-
-Opcjonalnie możesz Tez otrzymywać powiadomienia (na przykład w wypadku zmian na interesującej CIE Stronie ) oraz wiadomości (przykładowo, jeśli zdecydujesz sie dołączyć làm naszego zespołu beta testerów, możesz otrzymywać Maile dotyczące nowych funkcji wymagających przetestowania).
-
-Your email adres is offline na MDN i using us with the groups .
- -
    -
  1. Na górze tất cả các trang web MDN nút "Đăng Sắp za Uy tín". Najedź na nút (hoặc bấm, nếu bạn sử dụng điện thoại di động). Rozwiniesz w ten way list uwierzytelinally serwisów, using a MDN.
  2. -
  3. Choose availing Ci service, to be used to MDn. Wybranie (Tùy chọn " Persona ") có thể được sử dụng trong hai trang chính.
  4. -
  5. Postęp các theo dõi của nó, để cho các tài khoản dự phòng với MDM profilem.
  6. -
  7. Po powrocie do MDN bị bỏ qua poproszony và podanie địa chỉ email cũng như chọn lựa đặt người dùng. Tên người có thể nhìn thấy rõ ràng. Nigdy không sử dụng email địa chỉ email khi đặt mục tiêu!
  8. -
  9. Then click button " Wykonaj ".
  10. -
  11. Podane podany w punkcie 4 không phải là lý do tại sao, việc sử dụng để đăng nhập vào trang chủ, bạn cần skrzynkę mailową. W otrzymanych từ nas mailu nhấn vào nút " Potwierdź konto " trong việc hướng tới việc đăng nhập.
  12. -
- -

Để tất cả! Posiadasz các tài khoản và MD5 của bạn.

- -

Na górze tất cả các trang MDN có thể là người dùng của bạn. Click it, to make your profile. Teraz możesz wybrać opcję " Edytuj ", aby uzupełnić swój Profil, dzielić sie z innymi użytkownikami informacjami o Tobie, dodawać linki làm swojego Twittera lub bloga ITD.

- -
-

Chú ý: Không thể phân biệt người dùng có ký hiệu "@". Pamiętaj, as Bạn có thể chứng tỏ được rằng mình là một trong những người hiểu rõ nhất về dịch vụ của bạn.

-
- -

 

diff --git a/files/pl/orphaned/mdn/contribute/howto/do_a_technical_review/index.html b/files/pl/orphaned/mdn/contribute/howto/do_a_technical_review/index.html deleted file mode 100644 index c2e018c8a2..0000000000 --- a/files/pl/orphaned/mdn/contribute/howto/do_a_technical_review/index.html +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: How to do a technical review -slug: orphaned/MDN/Contribute/Howto/Do_a_technical_review -translation_of: MDN/Contribute/Howto/Do_a_technical_review -original_slug: MDN/Contribute/Howto/Do_a_technical_review ---- -
{{MDNSidebar}}

Technical review consists of reviewing the technical accuracy and completeness of an article, and correcting it if necessary. If a writer of an article wants someone else to check the technical content of an article, the writer ticks the "Technical review" checkbox while editing. Often the writer contacts a specific engineer to perform the technical review, but anyone with technical expertise in the topic can do one.

- -

This article describes how to go about performing a technical review, thereby helping to ensure that MDN's content is accurate.

- -
-
What is the task?
-
Reviewing and correcting of articles for technical accuracy and completeness.
-
Where does it need to be done?
-
In specific articles that are marked as requiring a technical review.
-
What do you need to know to do the task?
-
-
    -
  • Expert knowledge of the topic of the article you are reviewing.
  • -
  • Ability to edit a wiki article on MDN.
  • -
-
-
What are the steps to do it?
-
-
    -
  1. Pick an article to review: -
      -
    1. Go to the list of pages that need technical reviews. This lists all the pages for which an technical review has been requested.
    2. -
    3. Choose a page whose topic you are very familiar with.
    4. -
    5. Click on the article link to load the page.
    6. -
    -
  2. -
  3. Read the article, paying close attention to technical details: Is the article correct? Is there anything missing? Don't hesitate to switch to a different page if the first one you choose doesn't suit you.
  4. -
  5. If there are no errors, you don't need to edit the article to mark it as reviewed. Look for the "quick review" box in the left sidebar of the page. This yellow box lists any pending reviews and lets you clear their review request flag. It looks like this if a technical review has been requested:
    - Screenshot of the sidebar's box listing reviews that have been requested and allowing the flags to be changed.
  6. -
  7. Deselect the Technical checkbox, and click Save.
  8. -
  9. If you find errors that need to be corrected, you'll be glad to know that you can also change the review request status from within the editor. Here's the workflow: -
      -
    1. To edit the page, click the Edit button near the top of the page; this puts you into the MDN editor.
    2. -
    3. Fix any technical information is not correct, and/or add any important information that is missing.
    4. -
    5. Enter a Revision Comment at the bottom of the article. This is a brief message that describes what you did, like 'Technical review completed.' If you corrected information, include that in your comment, for example 'Technical review and fixed parameter descriptions.' This helps other contributors and site editors know what you changed and why.
    6. -
    7. Deselect the Technical box under Review Needed? just below the Revision Comment area of the page.
    8. -
    9. Click the PUBLISH button.
    10. -
    -
  10. -
- -

Congratulations! You've finished your first technical review! Thank you for your help!

-
-
diff --git a/files/pl/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html b/files/pl/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html deleted file mode 100644 index 47c22f99fb..0000000000 --- a/files/pl/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Jak budować, edytować dany artykuł -slug: orphaned/MDN/Contribute/Howto/Do_an_editorial_review -tags: - - Dokumentacja - - Edycja artykułu - - Przewodnik - - Publikaja artykułu - - Wprowadzanie zmian - - Wprowadzanie zmian w hasłach -translation_of: MDN/Contribute/Howto/Do_an_editorial_review -original_slug: MDN/Contribute/Howto/Budowa_dany_edycja_artykuł ---- -

{{MDNSidebar}}

- -

{{IncludeSubnav("/en-US/docs/MDN")}}

- -

Edycja budowanego artykułu sklada sie z:

- -

naprawy składni , poprawy błędów ortograficznych,
- interpunkcyjnych zawartych w tekście, który powinien być łatwy do zrozumienia. Osoba redagująca tekst nie musi być pisarzem aby pomoc w tworzeniu dokumentacji technicznej MDN's, która zawsze jest otwarta na potrzeby udoskonalania dla przyszłych czytelników danego artykułu.

- -

Ten przewodnik opisuje jak dokonać przeglądu edytorskiego, co ma zapewnić, że zawartość witryny MDN jest odpowiednio napisana i zredagowana.

- -
-
Na czym polega to zadanie?
-
Edycja i korekta artykułów oznaczonych jako wymagające przeglądu redakcyjnego.
-
Gdzie należy to zrobić?
-
W obrębie konkretnych artykułów oznaczonych jako wymagające przeglądu redakcyjnego.
-
Co potrzebujesz aby dobrze wykonać to zadanie?
-
Musisz znać gramatykę i styl języka. Przegląd redakcyjny polega na zapewnieniu poprawnej gramatyki i stylistyki, braku literówek, użyciu właściwych terminów technicznych, zgodnie ze standardem podanym w Przewodniku tworzenia zasobów MDN.
-
W jakich krokach to osiągnąć?
-
-
    -
  1. Wybierz artykuł wymagający przejrzenia: -
      -
    1. Idź do listy artykułów wymagających oceny redakcji. Gdzie zobaczysz listę stron, które wymagają poprawek edytora.
    2. -
    3. Kliknij w tytuł artykułu, by załadować stronę.
      - Uwaga: Lista artykułów przeznaczonych do edycji jest generowana automatycznie i odświeżana jest rzadko, dlatego część artykułów, nie będzie wymagała żadnych zmian, ponieważ była już przetłumaczona i sprawdzona. Jeśli artykuł nie wyświetla informacji "Ten artykuł wymaga przeglądu redakcyjnego", możesz pominąć jego edycję i wybrać inny artykuł.
    4. -
    -
  2. -
  3. Każdy artykuł czytaj uważnie, zwracając uwagę na literówki, ortografię, gramatykę lub błędy użytkowania. Jeśli strona, którą wybrałeś - nie pasuje ci - nie wahaj przełączać się między stronami podczas edycji,
  4. -
  5. Jeśli strona artykułu nie posiada błędów, nie ma potrzeby, by edytować artykuł, żeby oznaczyć go jako sprawdzony. Spójrz na okienko wyboru "Wymaga sprawdzenia" w lewym pasku nawigacyjnym poniżej artykułu:
  6. -

  7. - Screenshot of the editorial review request sidebar box
  8. -
  9. Odznacz opcję Editorial i zapisz, klikając Save.
  10. -
  11. Jeśli znajdziesz błędy wymagające korekty: -
      -
    1. Kliknij guzik Edit znajdujący się na górze strony; zostaniesz przeniesiony na stronę MDN edytor.
    2. -
    3. Popraw wszystkie literówki, będy ortograficzne i gramatyczne i inne błędy, które uda ci się znaleźć. Jeśli do końca nie jesteś pewny, czy edycja artykułu została przez ciebie skończona,  upewnij się, że zostawiasz prośbę o dalszy przegląd redakcyjny włączoną.
    4. -
    5. Wprowadź Komentarz dotyczący sprawdzenia  na dole artykułu; np. Nick edytora: 'poprawione błędy ortograficzne, gramatyczne i składniowe'. Pomoże to innym użytkownikom i autorom edytowanej strony dowiedzieć się, które hasło wymagało zmian i dlaczego takie zmiany były wprowadzane.
    6. -
    7. Odznacz w polu 
      - Wymaga sprawdzenia > Redakcjynego. Znajdującego się powyżej sekcji Komentarz dotyczący sprawdzenia.
    8. -
    9. Kliknij guzik Publikuj.
    10. -
    -
  12. -
- - -
-
- -
-
-
Zapisane zmiany wprowadzone do artykułu, mogą pojawić się z opóźnieniem.
-
-
diff --git a/files/pl/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html b/files/pl/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html deleted file mode 100644 index 5e86534083..0000000000 --- a/files/pl/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: How to set the summary for a page -slug: orphaned/MDN/Contribute/Howto/Set_the_summary_for_a_page -translation_of: MDN/Contribute/Howto/Set_the_summary_for_a_page -original_slug: MDN/Contribute/Howto/Set_the_summary_for_a_page ---- -
{{MDNSidebar}}

Możesz opracować streszczenie strony MDN. Twoje streszczenie zostanie potem wykorzystane w wielu miejscach: w wynikach wyszukiwania, na innych stronach MDN, takich jak np. strony tematyczne, oraz w dymkach z podpowiedziami. Twój tekst powinien być zrozumiały zarówno jako fragment oryginalnej strony, jak i wtedy, gdy zostanie wyrwany z kontekstu i wyświetlony samodzielnie na innej stronie.

-

Każda strona może mieć zdefiniowane streszczenie. Jeśli jednak go nie ma, streszczenie jest tworzone automatycznie na podstawie pierwszych paru zdań tekstu. Niestety to nie zawsze jest najlepszy wybór.

- - - - - - - - - - - - - - - - - - - -
Na czym polega zadanie?Zadanie polega na zaznaczaniu takiego fragmentu tekstu na stronie, który mógłby posłużyć jako streszczenie strony do wykorzystania w innych kontekstach. Może się zdarzyć, że trzeba będzie ten tekst napisać.
Gdzie możesz to zrobić?Na stronach, które nie mają streszczenia lub pozostawia ono wiele do życzenia.
Jakich umiejętności potrzebujesz?Umiejętność obsługi edytora MDN; umiejętność pisania tekstów; na tyle biegła znajomość omawianych tematów, żeby napisać sensowne streszczenie.
What are the steps to do it? -
    -
  1. Pick a page on which to set the summary: -
      -
    1. In the MDN documentation status page, click the link under Sections for a topic that you know something about (for example, HTML):
      -
    2. -
    3. On the topic's documentation status page, click the Pages header in the Summary table. This takes you to an index of all the pages in that topic section; it shows the page links in the left column, and the tags and summaries in the right column:
      -
    4. -
    5. Pick a page that is missing a summary, or that has a poor summary:
      -
    6. -
    7. Click the link to go to that page.
    8. -
    -
  2. -
  3. Click Edit to open the page in the MDN editor.
  4. -
  5. Look for a sentence or two that works as a summary out of context. If needed, edit the existing content to create or modify sentences to be a good summary.
  6. -
  7. Select the text to be used as a summary.
  8. -
  9. In the Styles widget of the editor toolbar, select SEO Summary. (In the page source, this creates a {{HTMLElement("span")}} element with class="seoSummary" around the selected text.)
    -
  10. -
  11. Save your changes with a revision comment like "Set the page summary."
  12. -
-
-

 

-

 

-

 

diff --git a/files/pl/orphaned/mdn/contribute/howto/tag_javascript_pages/index.html b/files/pl/orphaned/mdn/contribute/howto/tag_javascript_pages/index.html deleted file mode 100644 index e05e986f74..0000000000 --- a/files/pl/orphaned/mdn/contribute/howto/tag_javascript_pages/index.html +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: How to tag JavaScript pages -slug: orphaned/MDN/Contribute/Howto/Tag_JavaScript_pages -tags: - - JavaScript - - MDN - - Poradnik -translation_of: MDN/Contribute/Howto/Tag_JavaScript_pages -original_slug: MDN/Contribute/Howto/Tag_JavaScript_pages ---- -
{{MDNSidebar}}
- -

Tagowanie opiera się na dodawaniu meta-danych do stron, tak aby powiązane ze sobą treści mogły być grupowane - przykładowo na potrzeby wyszukiwania.

- -
-
Gdzie jest to potrzebne?
-
Na konkretnych stronach związanych z JavaScriptem, na których jeszcze nie ma tagów
-
Co musisz wiedzieć, aby wykonać tą czynność?
-
Podstawowa wiedza o programowaniu w JavaScripcie - przykładowo wiedzieć, czym jest metoda lub właściwość obiektu.
-
Jakie są kroki?
-
-
    -
  1. Wyberz jedną ze stron z listy w odnośniku powyżej
  2. -
  3. Kliknij na odnośniku do artykułu, aby załadować jego stronę.
  4. -
  5. Gdy strona się załaduje, kliknij przycisk EDYTUJ, zlokalizowany nad artykułem; uruchomiony zostanie edytor MDN.
  6. -
  7. Przynajmniej tag JavaScript powinien być dodany. Oto inne przykładowe tagi, które mogą być dodane: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TagNa jakich stronach użyć
    Methodmetody
    Propertywłaściwości
    prototypeprototypy
    Nazwa typu obiektumetody danego obiektu; przykładowo metoda String.fromCharCode powinna mieć tag String
    ECMAScript6 i Experimentalfunkcjonalności dodane w nowych wersjach ECMAScript
    Deprecatedprzestarzałe funkcjonalności (wciąż są wspierane, ale nie zaleca się ich używania)
    Obsoletewycofane funkcjonalności (nie są już wspierane przez współczesne przeglądarki)
    inneZobacz artykuł Standardy tagowania MDN aby przejrzeć inne tagi, które można dodać
    -
  8. -
  9. Zapisz wraz z komentarzem.
  10. -
  11. Zrobione!
  12. -
-
-
- -

 

diff --git "a/files/pl/orphaned/modu\305\202y_javascript/index.html" "b/files/pl/orphaned/modu\305\202y_javascript/index.html" deleted file mode 100644 index 6c8d870881..0000000000 --- "a/files/pl/orphaned/modu\305\202y_javascript/index.html" +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Moduły JavaScript -slug: orphaned/Moduły_JavaScript -tags: - - Firefox 3 - - JavaScript - - Wszystkie_kategorie - - XPConnect -original_slug: Moduły_JavaScript ---- -

W programie Firefox 3 dostępna jest nowa metoda Components.utils.import(), pozwalająca w prosty sposób zaimportować kod JavaScript z modułu zewnętrznego. Informacje na temat instalacji modułów i korzystania z nich znajdują się w artykule Zastosowanie modułów JavaScript. Modułów JavaScript można także użyć do udostępniania danych w rozszerzeniach. -

Oprócz metody umożliwiającej import modułów w programie Firefox dostępne są dwa wbudowane moduły: -

-
XPCOMUtils -
Moduł XPCOMUtils.jsm udostępnia narzędzia dla komponentów JavaScript załadowanych przez program ładujący. -
JSON -
Moduł JSON.jsm udostępnia narzędzia do przetwarzania danych w formacie JSON. -
-


-


-

-
-
-{{ languages( { "en": "en/JavaScript_modules", "es": "es/M\u00f3dulos_JavaScript", "fr": "fr/Modules_JavaScript", "ja": "ja/JavaScript_modules" } ) }} diff --git a/files/pl/orphaned/mozilla/add-ons/webextensions/getting_started_with_web-ext/index.html b/files/pl/orphaned/mozilla/add-ons/webextensions/getting_started_with_web-ext/index.html deleted file mode 100644 index dc2832a06e..0000000000 --- a/files/pl/orphaned/mozilla/add-ons/webextensions/getting_started_with_web-ext/index.html +++ /dev/null @@ -1,297 +0,0 @@ ---- -title: Pierwsze kroki z web-ext -slug: orphaned/Mozilla/Add-ons/WebExtensions/Getting_started_with_web-ext -translation_of: Mozilla/Add-ons/WebExtensions/Getting_started_with_web-ext -original_slug: Mozilla/Add-ons/WebExtensions/Pierwsze_kroki_z_web-ext ---- -
{{AddonSidebar}}
- -

web-ext is a command line tool designed to speed up various parts of the extension development process, making development faster and easier. This article explains how to install and use web-ext.

- -

Instalacja

- -

web-ext is a node-based application that you install with the nodejs/npm tool. Install web-ext using the following command:

- -
npm install --global web-ext
- -

web-ext requires the current LTS (long-term support) version of NodeJS.

- -

To test whether the installation worked run the following command, which displays the web-ext version number:

- -
web-ext --version
- -

Użycie web-ext

- -

Before you start using web-ext, locate an example extension to use—if you don't have one, use one from the webextensions-examples repo.

- -

Testing out an extension

- -

Test an extension in Firefox by cd'ing into your extension's root directory and entering:

- -
web-ext run
- -

This starts Firefox and loads the extension temporarily in the browser, just as you can on the about:debugging page.

- -

See the run reference guide to learn more.

- -

Automatic extension reloading

- -

The run command watches your source files and tells Firefox to reload the extension after you edit and save a file. For example, if you changed the name property in your manifest.json file, Firefox displays the new name. This makes it easy to try out new features because you can see the effect immediately. The automatic reloading feature is active by default, you use it like this:

- -
web-ext run
- -

You can also press the r key in the web-ext terminal to trigger an extension reload.

- -

If you experience unexpected behavior with the reloading feature, please file a bug. You can also disable reloading like this:

- -
web-ext run --no-reload
- -
-

Extension reloading is only supported in Firefox 49 or higher.

-
- -

Testing in different versions of Firefox

- -

To run your extension in a version of Firefox Desktop other than the default, use the --firefox option to specify a full path to the binary file. Here is an example for Mac OS:

- -
web-ext run --firefox=/Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin
- -

On Windows, the path needs to include firefox.exe, for example:

- -
web-ext run --firefox="C:\Program Files\Mozilla Firefox\firefox.exe"
- -

See the run command reference to learn more.

- -

Testing in Firefox 48

- -

Firefox 48 was the first stable version to use the WebExtension platform, but it doesn't allow web-ext to install an extension remotely. You need to run your extension in Firefox 48 using:

- -
web-ext run --pre-install
- -

Testing in Firefox for Android

- -

To run your extension in Firefox for Android, follow these instructions to set up your computer and device.

- -

With your device connected to your development computer, run:

- -
web-ext run --target=firefox-android
- -

This command displays the device ID for your connected Android device or devices. If you don't see a list of device IDs, make sure you set up the device for development correctly.

- -

Now, add the device ID to the command:

- -
web-ext run --target=firefox-android --android-device=<device ID>
- -

If you've multiple versions of Firefox installed, you may need to choose a specific version. For example:

- -
web-ext run --target=firefox-android ... --firefox-apk=org.mozilla.firefox
- -

The first time you run this command, you may need to grant Android permissions for the APK. This is because the command needs read / write access to the device storage, so that Firefox for Android can run on a temporary profile. The web-ext output guides you in how to grant these permissions.

- -

The web-ext command does not alter any of your existing Firefox for Android preferences or data. To see more information about how web-ext is interacting with your device, run the command with --verbose.

- -

See the run command reference to learn more.

- -

Debugging in Firefox for Android

- -

When using web-ext run to test an extension on Firefox for Android, you'll notice a message like this in the console output:

- -
You can connect to this Android device on TCP port 51499
-
- -

This is a remote debugger port that you can connect to with Firefox's developer tools. In this case, you'd connect to host localhost on port 51499.

- -

See this guide for more information about debugging an extension on Firefox for Android.

- -

Testing unsigned extensions

- -

When you execute web-ext run, the extension gets installed temporarily until you close Firefox. This does not violate any signing restrictions. If instead you create a zip file with web-ext build and try to install it into Firefox, you will see an error telling you that the add-on is not signed. You will need to use an unbranded build or use a development build to install unsigned extensions.

- -

Using a custom profile

- -

By default, the run command will create a temporary Firefox profile. To run your extension with a specific profile use the --firefox-profile option, like this:

- -
web-ext run --firefox-profile=your-custom-profile
- -

This option accepts a string containing the name of your profile or an absolute path to the profile directory. This is helpful if you want to manually configure some settings that will always be available to the run command.

- -

Keeping profile changes

- -

The run command does not save any changes made to the custom profile specified by --firefox-profile. To keep changes, add this option:

- -
web-ext run --keep-profile-changes --firefox-profile=your-custom-profile
- -

This may be helpful if your extension has many different run states.

- -
-

This option makes the profile specified by --firefox-profile completely insecure for daily use. It turns off auto-updates and allows silent remote connections, among other things. Specifically, it will make destructive changes to the profile that are required for web-ext to operate.

-
- -

Packaging your extension

- -

Once you've tested your extension and verified that it's working, you can turn it into a package for submitting to addons.mozilla.org using the following command:

- -
web-ext build
- -

This outputs a full path to the generated .zip file that can be loaded into a browser.

- -
-

The generated .zip file doesn't work on Firefox without signing or adding applications.gecko.id key into manifest.json.  For more information, please refer WebExtensions and the Add-on ID page.

-
- -

web-ext build is designed to ignore files that are commonly not wanted in packages, such as .git, node_modules, and other artifacts.

- -

See the build reference guide to learn more.

- -

Signing your extension for distribution

- -

As an alternative to publishing your extension on addons.mozilla.org, you can self-host your package file but it needs to be signed by Mozilla first. The following command packages and signs a ZIP file, then returns it as a signed XPI file for distribution:

- -
web-ext sign --api-key=$AMO_JWT_ISSUER --api-secret=$AMO_JWT_SECRET 
- -

The API options are required to specify your addons.mozilla.org credentials.

- - - -

See the sign reference guide to learn more.

- -

Signing extensions without an explicit ID

- -

web-ext supports signing extensions that do not declare the applications.gecko.id property in their manifest. The first time you sign an extension without an explicit ID, addons.mozilla.org will generate an ID and web-ext will save it to .web-extension-id in the working directory. You should save the ID file so that you can sign future versions of the same extension. If you lose the ID file, you will have to add back the applications.gecko.id property or use the --id option when signing, for example:

- -
web-ext sign --api-key=... --api-secret=... --id="{c23c69a7-f889-447c-9d6b-7694be8035bc}"
- -

Signing in a restricted environment

- -

If you're working in an environment that restricts access to certain domains, you can try using a proxy when signing:

- -
web-ext sign --api-key=... --api-secret=... --api-proxy=https://yourproxy:6000
- -

See the --api-proxy option to learn more.

- -

The following domains are used for signing and downloading files:

- - - -

Checking for code "lint"

- -

Before trying out your extension with the run command or submitting your package to addons.mozilla.org, use the lint command to make sure your manifest and other source files do not contain any errors. Example:

- -
web-ext lint
- -

This uses the addons-linter library to walk through your source code directory and report any errors, such as the declaration of an unknown permission.

- -

See the lint reference guide to learn more.

- -

Setting option defaults in a configuration file

- -

You can specify --config=my-config.js to set default values for any option. Here is an example with the build command:

- -
web-ext --config=my-config.js build
- -

The file should be a CommonJS module as understood by NodeJS and must export each configuration value. Here is how you would set the default value of --verbose to true:

- -
module.exports = {
-  verbose: true,
-};
- -

If you want to specify options that only apply to a specific command, you nest the configuration under the command name. Here is an example of adding configuration for --overwrite-dest that only applies to the build command as well as --firefox that only applies to the run command:

- -
module.exports = {
-  // Global options:
-  verbose: true,
-  // Command options:
-  build: {
-    overwriteDest: true,
-  },
-  run: {
-    firefox: 'nightly',
-  },
-};
- -

To create a configuration key for a command line option, you remove the preceding dashes and convert the name to camel case. As you can see from this example, --overwrite-dest was converted to overwriteDest.

- -

If an option can be specified multiple times on the command line then you define it as an array. For example, here is how to specify multiple --ignore-files patterns:

- -
module.exports = {
-  ignoreFiles: [
-    'package-lock.json',
-    'yarn.lock',
-  ],
-};
- -

Automatic discovery of configuration files

- -

web-ext will load existing configuration files in the following order:

- - - -

If a home directory config and a local directory config define the same option, the value from the latter file will be used.

- -

To disable automatic loading of configuration files, set this option:

- -
web-ext --no-config-discovery run
- -

To diagnose an issue related to config files, re-run your command with --verbose. This will tell you which config file affected which option value.

- -

Specifying different source and destination directories

- -

The preceding commands use default directories for the extension source and artifact creation (for example, built .zip files). The defaults are:

- - - -

You can specify different source and destination directories using the --source-dir and --artifacts-dir options when running your commands. Their values can be relative or absolute paths, but must always be specified as strings. Here is an example of specifying both options when building an extension:

- -
web-ext build --source-dir=webextension-examples/notify-link-clicks-i18n --artifacts-dir=zips
- -

Outputting verbose messages

- -

To see in detail what web-ext is doing when you run a command, include the --verbose option. For example:

- -
web-ext build --verbose
- -

Viewing all commands and options

- -

You can list all commands and options like this:

- -
web-ext --help
- -

You can list options for a specific command by adding it as an argument:

- -
web-ext --help run
- -

Detecting temporary installation

- -

Your extension can detect whether it was installed using web-ext run, rather than as a built and signed extension downloaded from addons.mozilla.org. Listen for the {{WebExtAPIRef("runtime.onInstalled")}} event and check the value of details.temporary.

- -

Using web-ext from a script

- -

You can use web-ext as a NodeJS module. Here is more information, with example code.

- -

See also

- - diff --git "a/files/pl/orphaned/narz\304\231dzia_clone/index.html" "b/files/pl/orphaned/narz\304\231dzia_clone/index.html" deleted file mode 100644 index 5fc1a82b71..0000000000 --- "a/files/pl/orphaned/narz\304\231dzia_clone/index.html" +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: Narzędzia dla programistów Firefox -slug: orphaned/Narzędzia_clone -tags: - - Narzędzia -original_slug: Narzędzia_clone ---- -

This should not be merged with Web development, as this also applies to XUL/JS development

- - - - - - - - - - -
-

Tworzenie stron WWW

- -
Rozszerzenia
- -

Rozszerzenia Mozilli / Firefoksa pomocna dla autorów stron WWW.

- -
    -
  • Venkman - Venkman jest debuggerem JavaScript.
  • -
  • Inspektor DOM
  • -
  • WebDeveloper - Pasek narzędziowy Web Developer jest rozszerzeniem do Firefoksa
  • -
  • Aardvark - rozszerzenie Aardvark (pokazuje elementy DOM w trakcie poruszania kursorem nad stroną)
  • -
- -
Walidatory
- - - -
Oprogramowanie autorskie
- - -
-

JavaScript

- -
    -
  • Venkman - Venkman jest debuggerem JavaScript.
  • -
  • JSLint
  • -
  • JSDoc - narzędzie do tworzenia (zwykle w języku HTML) dokumentacji z komentarzy w kodzie (podobne do JavaDoc).
  • -
- -

DOM

- -
    -
  • Inspektor DOM
  • -
  • MODI - Mouseover DOM Inspector(także znany jako bookmarklet) to interaktywny inspektor DOM, który pozwala na przeglądanie oraz manipulowanie elementami DOM poprzez poruszanie kursorem.
  • -
- -

Lokalizacje

- - - -

Zarządzanie drzewem i gałęzią

- - -
- -


- Interwiki Language Links Categories

- -

 

- -
-
 
-
diff --git a/files/pl/orphaned/nsiinputstream/index.html b/files/pl/orphaned/nsiinputstream/index.html deleted file mode 100644 index 1a2193360e..0000000000 --- a/files/pl/orphaned/nsiinputstream/index.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: nsIInputStream -slug: orphaned/nsIInputStream -tags: - - Dokumentacja_API_XPCOM - - Interfejsy - - Interfejsy:Skryptowalne - - Interfejsy:Zamrożone - - Wszystkie_kategorie - - XPCOM -original_slug: nsIInputStream ---- -

Dokumentacja API XPCOM -

-

Podsumowanie

-

Interfejs nsIInputStream reprezentuje źródło danych nadających się do odczytu. -

-
  #include "nsIInputStream.h"
-
-  [scriptable, uuid=(fa9c7f6c-61b3-11d4-9877-00c04fa0cf4a)]
-  interface nsIInputStream : nsISupports { ... };
-
-

Metody

-
close -
Metoda zamyka ciąg wejściowy. -
-
available -
Metoda zwraca ilość bajtów aktualnie możliwych do odczytania z ciągu. -
-
read -
Metoda kopiuje dane z ciągu do bufora. -
-
readSegments -
Metoda dostarcza bezpośredniego dostępu do wewnętrznego bufora ciągu. -
-
isNonBlocking -
Metoda zwraca wartość true jeśli ciąg nie jest blokujący. -
-

Historia

-

Ten interfejs został zamrożony dla Mozilli 1.0. Zobacz błąd 124465, aby poznać szczegóły. -

diff --git a/files/pl/orphaned/nsixulappinfo/index.html b/files/pl/orphaned/nsixulappinfo/index.html deleted file mode 100644 index 4918ac55ca..0000000000 --- a/files/pl/orphaned/nsixulappinfo/index.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: nsIXULAppInfo -slug: orphaned/nsIXULAppInfo -tags: - - Dokumentacja_API_XPCOM - - Interfejsy - - Interfejsy:Skryptowalne - - Interfejsy:Zamrożone - - Wszystkie_kategorie - - XPCOM -original_slug: nsIXULAppInfo ---- -

-
xpcom/system/nsIXULAppInfo.idlskryptowalny
- - -Please add a summary to this article. - - -
-  -Last changed in Gecko mozilli1.8
-
-

Aby uzyskać więcej informacji na temat jego stosowania, zobacz Zastosowanie nsIXULAppInfo. -

W aplikacjach XULRunner nsIXULAppInfo uzyskuje specyficzne dla aplikacji informacje z application.ini. -

diff --git "a/files/pl/orphaned/porady_odno\305\233nie_tworzenia_szybko_\305\202aduj\304\205cych_si\304\231_stron_html/index.html" "b/files/pl/orphaned/porady_odno\305\233nie_tworzenia_szybko_\305\202aduj\304\205cych_si\304\231_stron_html/index.html" deleted file mode 100644 index 77f8ef024e..0000000000 --- "a/files/pl/orphaned/porady_odno\305\233nie_tworzenia_szybko_\305\202aduj\304\205cych_si\304\231_stron_html/index.html" +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Porady odnośnie tworzenia szybko ładujących się stron HTML -slug: orphaned/Porady_odnośnie_tworzenia_szybko_ładujących_się_stron_HTML -tags: - - HTML - - Wszystkie_kategorie -original_slug: Porady_odnośnie_tworzenia_szybko_ładujących_się_stron_HTML ---- -

Streszczenie: Nauczyć się zdroworozsądkowych porad odnośnie tworzenia stron HTML, które ładują się szybko i dają satysfakcję odwiedzającemu. -

-

Porady odnośnie tworzenia szybko ładujących się stron HTML

-

Poniższe porady są oparte na powszechnej wiedzy i eksperymentach. Jeśli masz dodatkowe wskazówki, które mogą pomóc innym zwiększyć szybkość ładowania się ich stron WWW, zapisz swoje sugestie na stronie dyskusji tego artykułu. -

Zoptymalizowana strona internetowa nie oznacza jedynie szybszej reakcji na odwiedzających twoją witrynę, ale także zmniejsza obciążenie twoich serwerów WWW i łącza internetowego. Może się to okazać kluczowe dla witryn o dużym natężeniu lub witryn, w których następuje nagły skok odwiedzalności z powodu niecodziennych okoliczności takich, jak sensacyjne historie podawane w mediach. -

Optymalizacja ładowania się strony nie służy tylko treściom, które zostaną obejrzane przez wąską grupę odwiedzających korzystających z modemu. Jest ona tak samo ważna dla treści szerokopasmowych i może zaowocować wielkimi usprawnieniami również dla odwiedzających z najszybszymi połączeniami.

-

Porady

-

Zmniejsz rozmiar strony

-

Rozmiar strony jest zdecydowanie najistotniejszym czynnikiem wpływającym na szybkość jej ładowania. -

Zmniejszenie rozmiaru strony poprzez usunięcie niepotrzebnych białych spacji i komentarzy oraz przeniesienie wpisanych skryptów i arkuszy stylów do zewnętrznych plików może zwiększyć szybkość ładowania się strony minimalizując pozostałe zmiany w strukturze strony. -

Narzędzia, takie jak HTML Tidy, mogą automatycznie usunąć dodatkowe nowe linie i poprzedzające je białe spacje z poprawnego kodu HTML. Inne narzędzia mogą "skompresować" JavaScript reformatując kod źródłowy lub czyniąc źródło mniej zrozumiałym i redukując długie identyfikatory do krótszych wersji. -

-

Zminimalizuj liczbę plików

-

Zmniejszenie liczby plików, do których odwołuje się strona sieciowa zmniejsza liczbę połączeń HTTP koniecznych do pobrania strony. -

Zależnie od ustawień cache przeglądarki, może ona wysłać do serwera żądanie <tt>If-Modified-Since</tt> dla każdego pliku CSS, JavaScript lub obrazka, pytając tym samym, czy plik został zmodyfikowany od czasu ostatniego pobrania. -

Zmniejszając liczbę plików, do których odwołuje się strona internetowa, zmniejszasz czas potrzebny do wysłania tych żądań i otrzymania odpowiedzi. -

Zbyt wiele czasu poświęconego wysyłaniu zapytań o czas ostatniej modyfikacji powiązanych plików może opóźnić pierwsze wyświetlenie strony jako że przeglądarka musi sprawdzić czas modyfikacji każdego pliku CSS lub JavaScript przed jej wyrenderowaniem. -

-

Zmniejsz liczbę wywołań domen

-

Ponieważ każda oddzielna domena pochłania czas wywołania DNS, zmniejszenie liczby oddzielnych domen, z których korzysta się do tworzenia odnośników do plików CSS, JavaScript i obrazków, zmniejsza czas ładowania się strony. -

Nie zawsze musi się to okazać praktyczne, jednakże powinieneś zawsze zwracać uwagę na to, aby w miarę możliwości używać na swoich stronach minimalnej liczby różnych domen. -

-

Przechowuj w cache wielokrotnie wykorzystywane treści

-

Upewnij się, że każda treść, która może być składowana w cache, jest tam przechowywana z odpowiednim czasem wygaśnięcia. -

W szczególności zwróć uwagę na nagłówek Last-Modified. Pozwala on efektywnie przechowywać strony w cache; nagłówek ten informuje agenta użytkownika o tym, kiedy nastąpiła ostatnia modyfikacja pliku, który ma zostać załadowany. Dla stron statycznych (np. .html, .css) większość serwerów WWW automatycznie doda nagłówek Last-Modified, opierając się na dacie ostatniej modyfikacji przechowywanej w systemie plików. Dla stron dynamicznych (np. .php, .aspx) oczywiście nie może to zostać wykonane i nagłówek nie jest wysyłany. -

Zatem w szczególności dla stron, które są generowane dynamicznie, nieco pracy wykonanej w tym zakresie jest korzystne. Może być to nieco kłopotliwe, ale zaoszczędzi mnóstwo zapytań o strony, które w innym wypadku nie mogłyby być składowane w cache. -

Więcej informacji: -

-
  1. HTTP Conditional Get dla hakerów RSS -
  2. HTTP 304: Not Modified -
  3. O HTTP Last-Modified i ETag -
-

Optymalnie porządkuj komponenty strony

-

Pobierz treść strony w pierwszej kolejności, dzięki czemu użytkownik najszybciej otrzyma widoczny efekt pobierania. -

Zawartość strony wraz z wszelkimi arkuszami CSS lub skryptami JavaScript wymaganymi do jej pierwszego wyświetlenia powinna zostać pobrana jako pierwsza. Stanowi ją zwykle tekst i można zyskać na jego kompresji w modemie, zapewniając tym samym szybszą reakcję na zapytanie użytkownika. -

Wszystkie mechanizmy DHTML, które wymagają, aby strona została pobrana w całości przed ich użyciem, powinny być początkowo dezaktywowane i uaktywnione dopiero po pobraniu strony. Dzięki temu skrypty DHTML JavaScript zostaną pobrane po zawartości strony, zwiększając tym samym całkowitą wydajność jej ładowania. -

-

Zmniejsz liczbę skryptów wpisanych

-

Skrypty wpisane mogą być kosztowne dla czasu ładowania się strony, jako że parser musi założyć, że skrypt wpisany może zmodyfikować strukturę strony. Zmniejszenie wykorzystania skryptów wpisanych w ogólności, a w szczególności użycia instrukcji document.write do wypisywania zawartości, może zwiększyć całkowitą szybkość ładowania się strony. W nowoczesnych przeglądarkach do manipulowania zawartością strony należy używać nowoczesnych metod W3C DOM, zamiast starszych rozwiązań opartych na document.write. -

-

Używaj nowoczesnego CSS i poprawnej składni znaczników

-

Wykorzystanie nowoczesnego CSS zmniejsza ilość znaczników, może zmniejszyć potrzebę wstawiania obrazków tworzących układ graficzny strony i może na wiele sposobów zastąpić obrazki, które faktycznie przedstawiają jedynie tekst i mają dużo większy rozmiar niż odpowiedni CSS i tekst przez niego opisywany. -

Korzystanie z poprawnej składni znaczników ma inne zalety. Oprócz tego, że przeglądarka nie musi wykonywać "korekty błędów" podczas parsowania HTML, poprawna składnia znaczników pozwala na swobodne korzystanie z innych narzędzi, które mogą pre-procesować twoje strony internetowe. Na przykład HTML Tidy może usunąć białe spacje i opcjonalne znaczniki zamykające, jednak odmówi uruchomienia na stronie z poważnymi błędami składniowymi. -

-

Segmentuj zawartość

-

Albo zastąp układ graficzny strony oparty na tabelach na rzecz znaczników div, albo podziel tabele na mniejsze tabelki, które będą mogły zostać wyświetlone bez potrzeby pobierania całej zawartości strony. -

Zamiast wielokrotnie zagnieżdżać tabele, jak w poniższym przykładzie: -

-
<TABLE>
-  <TABLE>
-    <TABLE>
-          ...
-    </TABLE>
-  </TABLE>
-</TABLE>
-

Skorzystaj z niezagnieżdżonych tabel lub znaczników div, np. -

-
<TABLE>...</TABLE>
-<TABLE>...</TABLE>
-<TABLE>...</TABLE>
-

Określaj rozmiary obrazków i tabel

-

Jeżeli przeglądarka może natychmiast wyznaczyć wysokość i/lub szerokość twoich obrazków i tabel, będzie mogła wyświetlić stronę internetową bez potrzeby ponownego opływania jej zawartości. To nie tylko przyspieszy wyświetlenie strony, ale także zapobiegnie irytującym zmianom w układzie graficznym strony po zakończeniu pobierania. -

Obrazki powinny mieć ustawione atrybuty height oraz width. -

Tabele powinny korzystać z reguły CSS table-layout: fixed i określać szerokość kolumn za pomocą znaczników COL i COLGROUP. -

-

Mądrze dobieraj wymagania agenta użytkownika

-

W celu osiągnięcia największych usprawnień w konstrukcji strony, upewnij się, że dla projektów określono rozsądne wymagania agenta użytkownika. Nie wymagaj, aby zawartość strony wyświetlała się idealnie z dokładnością co do piksela we wszystkich przeglądarkach, szczególnie w tych przestarzałych. -

W idealnej sytuacji, twoje podstawowe wymagania minimalne powinny być oparte na nowoczesnych przeglądarkach, które wspierają odpowiednie standardy. Można do nich zaliczać: Netscape 7/Gecko 1.0.2+ na dowolnej platformie, Internet Explorer 5.5+ na Windows, Opera 7+ na Windows lub Safari na Mac OS X. -

Zauważ jednak, że wiele porad umieszczonych w tej notce technicznej to zdroworozsądkowe techniki, które stosują się do dowolnego agenta użytkownika i mogą być zastosowane na dowolnej stronie niezależnie od wymagań technicznych przeglądarki. -

-

Przykładowa struktura strony

-

· HTML -

-
· HEAD -
-
· LINK ...
Pliki CSS wymagane do określenia wyglądu strony. Zminimalizuj liczbę linii, aby zwiększyć wydajność, dzieląc jednocześnie niezwiązane ze sobą CSS na oddzielne pliki w celu ułatwienia konserwacji. -
-
-
· SCRIPT ...
Pliki JavaScript zawierające funkcje wymagane podczas ładowania strony, ale nie DHTML, który może zostać wykonany dopiero po załadowaniu strony. -
Zminimalizuj liczbę plików, aby zwiększyć wydajność, dzieląc jednocześnie niezwiązane ze sobą skrypty JavaScript na oddzielne pliki w celu ułatwienia konserwacji. -
-
-
· BODY -
· Widoczna dla użytkownika zawartość podzielona na małe segmenty (tabele / div), które mogą zostać wyświetlone bez potrzeby czekania na pobranie całej strony. -
-
· SCRIPT ...
Wszystkie skrypty, które zostaną użyte jako DHTML. Skrypt DHTML zwykle może zostać wykonany dopiero po całkowitym załadowaniu strony i inicjalizacji wszystkich niezbędnych obiektów. Nie ma potrzeby ładowania tych skryptów przed zawartością strony. To jedynie opóźnia pierwsze widoczne efekty ładowania strony. -
Zminimalizuj liczbę plików, aby zwiększyć wydajność, dzieląc jednocześnie niezwiązane ze sobą skrypty JavaScript na oddzielne pliki w celu ułatwienia konserwacji. -
Jeśli jakieś obrazki są używane w efektach rollover, powinieneś zastosować wobec nich preload po pobraniu zawartości strony. -
-
-

Powiązane odnośniki

- -
-

Informacje o dokumencie

- -
-


-

-
-
-{{ languages( { "en": "en/Tips_for_Authoring_Fast-loading_HTML_Pages", "ja": "ja/Tips_for_Authoring_Fast-loading_HTML_Pages", "zh-cn": "cn/Tips_for_Authoring_Fast-loading_HTML_Pages" } ) }} diff --git a/files/pl/orphaned/programowanie_mozilli/index.html b/files/pl/orphaned/programowanie_mozilli/index.html deleted file mode 100644 index 675fe601a4..0000000000 --- a/files/pl/orphaned/programowanie_mozilli/index.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Programowanie Mozilli -slug: orphaned/Programowanie_Mozilli -tags: - - Programowanie_Mozilli - - Strony_wymagające_dopracowania - - Wszystkie_kategorie -original_slug: Programowanie_Mozilli ---- -

Chcesz pomóc w poprawieniu błędów, ale nie wiesz gdzie zacząć? Znalazłeś odpowiednie miejsce. Tu dowiesz się jak pobrać kod źródłowy, skompilować go, stworzyć poprawkę, dodać ją do drzewa, i wszystkich innych ważnych rzeczy, które każdy programista Mozilli powinien znać.

- -

Dokumentacja

Hacking documentation on mozilla.org
Another page with hacking-related documentation. We're working on this.
Hakowanie Firefoksa oraz kilka fragmentów kodu
Getting involved in front-end development.
Kompilowanie Firefoksa, Thunderbirda oraz innych aplikacji
This section contains documentation on how to build Firefox, Thunderbird, and other Mozilla-based applications.
Strategie programowania Mozilli
Jak sprawić by programowanie w środowisku Mozilli było wydajne.
Developing Tests
Testing information and automation tools.
Debugging FAQs
Tips on debugging are platform specific. Choose: Windows, Linux, or Mac OS X.
Tworzenie poprawki i jak dostać review i włączyć kod do repozytorium
Podpowiedzi jak tworzyć poprawki i sprawić by zmiany znalazły się w drzewie.
Przeglądanie i przeszukiwanie kodu źródłowego Mozilli online
Użycie systemu Mozilla Cross Reference (MXR) do przeglądania i przeszukiwania kodu źródłowego wszystkich produktów Mozilli.
Uzyskiwanie praw zapisu do kodu źródłowego Mozilli
Dowiedz się jak uzyskać dostęp do zapisu do repozytorium.

Pokaż wszystkie...

Społeczność

Narzędzia

  • Bugzilla : baza danych błędów projektów Mozilli.
  • MXR (wcześniej LXR): przeglądanie i przeszukiwanie źródeł repozytoriów.
  • Bonsai: dowiedz się kto zmienił co, w jakim pliku i kiedy.
  • Tinderbox : Pokazuje status drzewa. Zajrzyj tam zanim pobierzesz źródła, albo coś wyślesz do repozytorium.
  • Crash tracking: Socorro, Talkback
  • graphs.mozilla.org analiza wydajności.

Pokaż wszystkie...

Powiązane tematy

Kontrola Jakości
-

Categories

-

Interwiki Language Links

-

 

-

 

-

{{ languages( { "de": "de/Mozilla_entwickeln", "en": "en/Developing_Mozilla", "es": "es/Desarrollando_Mozilla", "fr": "fr/D\u00e9veloppement_de_Mozilla", "ja": "ja/Developing_Mozilla", "pt": "pt/Desenvolvimento_Mozilla", "zh-cn": "cn/\u5f00\u53d1Mozilla" } ) }}

diff --git "a/files/pl/orphaned/przygotowanie_\305\233rodowiska_programowania_rozszerzenia/index.html" "b/files/pl/orphaned/przygotowanie_\305\233rodowiska_programowania_rozszerzenia/index.html" deleted file mode 100644 index ac082ea18b..0000000000 --- "a/files/pl/orphaned/przygotowanie_\305\233rodowiska_programowania_rozszerzenia/index.html" +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Przygotowanie środowiska programowania rozszerzenia -slug: orphaned/Przygotowanie_środowiska_programowania_rozszerzenia -tags: - - Dodatki - - Rozszerzenia - - Wszystkie_kategorie -original_slug: Przygotowanie_środowiska_programowania_rozszerzenia ---- -

 

-

W tym artykule przedstawiono propozycje skonfigurowania aplikacji Mozilla w celu dostosowania jej do potrzeb programowania rozszerzeń.

-

Preferencje programistyczne

-

Ustawienie wymienionych niżej preferencji ułatwi debugowanie kodu (jednak wiązać się z tym będzie spadek wydajności).

-

Informacje na temat ustawiania preferencji można znaleźć w artykule Editing Configuration Files (Edytowanie plików konfiguracyjnych). Uwaga: niektórych z omawianych preferencji domyślnie nie ma liście <tt>about:config</tt> — w takim przypadku należy utworzyć nowe wpisy (typu „wartość logiczna”).

-

Przed dokonaniem tych zmian należy zapoznać się z instrukcją tworzenia osobnego profilu do celów testowych, przedstawioną w sekcji Profil testowy.

- -

Rozszerzenia wspomagające programowanie

-

Poniższe rozszerzenia mogą być przydatne podczas programowania.

- -

Profil testowy

-

Aby uniknąć spadku wydajności związanego z ustawieniem preferencji dotyczących programowania i zainstalowaniem dodatkowych rozszerzeń, a także w celu zabezpieczenia się przed utratą własnych danych, można utworzyć osobny profil przeznaczony do testów pisanego oprogramowania.

-

Przypisanie wartości 1 do zmiennej środowiskowej MOZ_NO_REMOTE pozwala na uruchomienie dwóch kopii programu Firefox, każdej z osobnym profilem. W systemie Windows można na przykład skorzystać z poniższego pliku wsadowego w celu uruchomienia Firefoksa z profilem testowym, niezależnie od tego, czy „zwykły” Firefox jest już uruchomiony. (Przyjęto założenie, że profil testowy nosi nazwę „dev”):

-
set MOZ_NO_REMOTE=1
-start "" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -P dev
-
-

Aby uruchomić program Firefox z domyślnym profilem wystarczy po prostu jak zwykle użyć poleceń "firefox" lub "firefox -P default".

-

Lokalizacja tworzonego kodu

-

Aby uniknąć ciągłego ponownego instalowania tworzonego rozszerzenia za każdym razem, gdy dokonane zostaną jakieś zmiany, a także w celu ochrony plików źródłowych przed przypadkowym usunięciem przy odinstalowywaniu rozszerzenia, kod źródłowy można umieścić poza profilem w wybranej przez siebie lokalizacji.

-
    -
  1. Znajdź identyfikator rozszerzenia w zawartym w nim pliku install.rdf
  2. -
  3. W katalogu katalog_profilu/extensions/ utwórz plik o nazwie takiej, jak powyższy identyfikator (np. `katalog_profilu/extensions/{46D1B3C0-DB7A-4b1a-863A-6EE6F77ECB58}`) (Znajdź katalog profilu)
  4. -
  5. Plik ten powinien zawierać ścieżkę do folderu zawierającego plik install.rdf tworzonego rozszerzenia. (np. `/pełna/ścieżka/do/mojegoRozszerzenia`)
  6. -
  7. Zapisz plik w folderze extensions używanego profilu i uruchom ponownie aplikację.
  8. -
-

Używanie katalogów zamiast archiwów JAR

-

Niezależnie od tego, czy pliki chrome rozszerzenia będą docelowo przechowywane w archiwach JAR, czy w katalogach, podczas programowania zalecana jest ta druga technika ze względu na związane z nią ułatwienia. Jeżeli w finalnej wersji mają być zastosowane archiwa JAR, w czasie programowania można korzystać ze struktury katalogów, edytując plik chrome.manifest. Na przykład zamiast poleceń

-
content	myExtension	jar:chrome/myExtension.jar!/content/
-
-

należy użyć

-
content	myExtension	chrome/content/
-
-

 

-

 

-

 

-

 

-

 

-
-  
-

 

diff --git "a/files/pl/orphaned/tutorial_lokalizacji_rozszerze\305\204_do_firefoksa_i_thunderbirda_dla_wersji_1.0_i_wy\305\274szych/index.html" "b/files/pl/orphaned/tutorial_lokalizacji_rozszerze\305\204_do_firefoksa_i_thunderbirda_dla_wersji_1.0_i_wy\305\274szych/index.html" deleted file mode 100644 index 99eafa64f0..0000000000 --- "a/files/pl/orphaned/tutorial_lokalizacji_rozszerze\305\204_do_firefoksa_i_thunderbirda_dla_wersji_1.0_i_wy\305\274szych/index.html" +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: >- - Tutorial lokalizacji rozszerzeń do Firefoksa i Thunderbirda dla wersji 1.0 i - wyższych -slug: >- - orphaned/Tutorial_lokalizacji_rozszerzeń_do_Firefoksa_i_Thunderbirda_dla_wersji_1.0_i_wyższych -tags: - - Dodatki - - Rozszerzenia - - Wszystkie_kategorie -original_slug: >- - Tutorial_lokalizacji_rozszerzeń_do_Firefoksa_i_Thunderbirda_dla_wersji_1.0_i_wyższych ---- -

-

-

Wprowadzenie

-

Aby dobrze zlokalizować na język polski rozszerzenie potrzeba (nie)dużo wiedzy i samozaparcia. -Wbrew pozorom nie jest to jednak takie trudne i mając trochę wiedzy komputerowej można szybko nauczyć się tej magii.

-

Potrzebna wiedza:

- -


-

-

Potrzebne narzędzia (najprostszy zestaw)

- -

Jak?

-

Wiedza jest, narzędzia też, no to zaczynamy odczarowywać rozszerzenia i zajrzyjmy do ich wnętrza. Jak? Prosta sprawa. Rozszerzenia to nic innego niż archiwum .zip, ale zamiast rozszerzenia .zip posiadają rozszerzenie pliku .xpi. Skoro .xpi to nic innego niż .zip, więc potraktujmy je jakimś dekompresorem. No i cóż się okazuje? W środku znajdują się katalogi i pliki mniej więcej o takiej strukturze: -

-

Katalogi:

- -

Pliki

- -

Ale znowu niespodzianka. Katalog "chrome" zawiera znowu jakiś spakowany plik o rozszerzeniu .jar. Taka budowa rozszerzenia wskazuje, że działa ono także w systemie Linux. Bez paniki. Plik .jar, to nic innego jak plik .zip tylko z rozszerzeniem .jar. Tak więc dekompresor szybciutko daje sobie z nim radę i w środku znowu widzimy katalogi: -

- -

Skoro przebrnęliśmy przez gąszcz spakowanych archiwów, katalogów i plików, wiemy co w nich się znajduje - przedpole zostało przygotowane. Zabierajmy się zatem do roboty. -

-

locale

-

Jak wcześniej wspomniałem to co nas najbardziej interesuje, to katalog "locale", w którym znajdują się podkatalogi lokalizacji tzn. języków na jakie to rozszerzenie zostało przetłumaczone. Jeśli w nim znajduje się katalog "pl-PL" lub "pl" to nie mamy tutaj nic do roboty, bo już ktoś zrobił to co my chcieliśmy zrobić. Jeśli natomiast takiego katalogu nie ma, to jest robota dla nas. -

Ponieważ dla wszystkich aplikacji Mozilli podstawowym językiem jest angielski-amerykański (en-US), on też posłuży nam jako podstawa tłumaczenia na język polski, a robimy to w następujący sposób: -

- -

Zanim jednak zaczniemy tłumaczenie proponuję zainstalowanie rozszerzenia w wersji angielskiej (jeśli nie ma pliku przeznaczonego dla konkretnej wersji językowej programu, to domyślnie instaluje się wersja angielska). Będzie łatwiej wykonywać tłumaczenie widząc umiejscowienie tłumaczonych elementów. -

No to teraz przypatrzmy się, co znajduje się w tym katalogu lokalizacji. -

Otóż, może w nim znajdować się kolejny podkatalog albo pliki. Jeśli jest podkatalog, to interesujące nas pliki będą wewnątrz tego podkatalogu i trzeba do nich dotrzeć. Niemniej w obu przypadkach docieramy do następujących plików: -

- -

Wszystkie te pliki zawierają elementy, które trzeba przetłumaczyć. Uruchamiamy edytor tekstu (przypominam o ustawieniu edytora na kodowanie UTF-8 i nie wstawianie BOM) i zacznijmy od pliku "contents.rdf". -

-

contents.rdf

-

Zmieniamy w nim następujące elementy: -en-US na pl-PL</li></ul> -Jeśli są: -- English (US) na Polski (PL) -- chrome:author="xxxxxxxxxx" na chrome:author="twoje_nazwisko" -

-

.dtd

-

Teraz plik .dtd: -Znajdujemy w nim wiersze wyglądające mniej więcej tak: -

-
<!ENTITY xxxxxxxxxxxx "Zzzzzzzzz">
-

gdzie: Zzzzzzzzz jest elementem do tłumaczenia, czyli tłumaczymy to co znajduje się pomiędzy znakami cytowania " ".

Należy zwrócić baczną uwagę, aby nie zgubić żadnych innych znaków w encji (entity), bo wówczas po zainstalowaniu rozszerzenia będziemy mieli doczynienie ze zjawiskiem "czerwonych znaków" na dole okna przeglądarki lub nie będzie działało rozszerzenie. -Uwaga! W tłumaczonym tekście nie wolno używać następujących znaków: -

-
Niedozwolone                 Zamienniki
-       &                          &amp;
-       <                          &lt;
-       >                          &gt;
-       "                          &quot;
-       %                          &#037;
-       '                          &apos;
-
-

.properties

-

No to jeszcze tylko plik *.properties. Ten znowu wygląda inaczej - nie mogliby jakoś tego ujednolicić? No niestety nie, bo inne są wymagania i przetwarzanie w plikach *.xul i *.js. Wiersze w tym pliku mają postać: -xxxxxxxxxx=Zzzzzzzzz. Proste! No tak - proste i łatwo określić co się w nich tłumaczy. Wszystko po znaku równości (=). -

Uwaga! W tłumaczonym tekście nie wolno używać następujących znaków: -

-
Niedozwolone             Zamienniki
-       "                       \"
-       '                        \'
-       \                        \\
-
-

Czyli dany znak trzeba poprzedzić odwróconym ukośnikiem "\" -

-

Kilka uwag na koniec

-

Uff! Robota z tłumaczeniem zakończona. Teraz trzeba uporządkować ten cały bałagan i sprawdzić nasz wysiłek intelektualny i umysłowy, a więc spakować wszystkie pliki i katalogi tak, aby struktura ich wyglądała jak na początku i zainstalować rozszerzenie. -

Zabieramy się za to w następujący sposób: -

- -

Teraz należałoby wszystkie pliki i katalogi spakować do archiwum *.xpi, ale to za chwilę, bo w plikach instalacyjnych należy dokonać kilku zmian, tak aby nasza nowa lokalizacja została rozpoznana przez aplikację. W tym celu musimy wyedytować pliki install.rdf i chrome.manifest: -

-

chrome.manifest

-

W pliku chrome.manifest w wierszu wyglądającym mniej więcej tak: -

-
locale	console2	en-US	jar:chrome/console2.jar!/locale/en-US/console2/ 
-

gdzie: console2 w tym przykładzie są nazwami katalogów rozszerzenia Console2, w innym będą inne nazwy, zmieniamy "en-US" na "pl-PL" -

Pozostałe takie wiersze z określeniami innych lokalizacji usuwamy. -

-

install.rdf

-

W pliku install.rdf w wierszu o takim wyglądzie: -

-
<description>Krótki_opis_rozszerzenia.</description>
Krótki_opis_rozszerzenia jest po angielsku, zamieniamy na opis po polsku. -

Jeśli jest wiersz: -

-
<em:locale>locale/en-US/jakaś_nazwa/<em:locale>
-

zmieniamy w nim "en-US" na "pl-PL", pozostałe podobne wiersze usuwamy. -Teraz już ostatni krok przed instalacją rozszerzenia - pakujemy wszystkie katalogi i pliki do archiwum .zip z rozszerzeniem .xpi. -

Teraz sprawdzenie tego co zrobiliśmy, czyli instalacja naszego rozszerzenia i później jego korekty. -

Jeśli dotrwałeś do tego momentu, to znaczy, że jesteś zdesperowany, aby tłumaczyć rozszerzenia, zatem należy ci się nagroda. -

Jak wcześniej wspomniałem polecam do pracy z rozszerzeniami Total Commandera z zainstalowanymi wtyczkami WCX. Dzięki nim odpada cały galimatias z rozpakowywaniem i pakowaniem archiwów. Po prostu archiwa otwiera i operuje się na nich jak na zwykłych katalogach. Pozostaje tylko końcowe spakowanie do pliku *.xpi, które też można ułatwić maksymalnie. -

-

Pożyteczne odnośniki

-
  1. Przekład tekstów informatycznych na polski -
  2. Gramatyka języka polskiego -
  3. Mozilla Developer Center po polsku -
  4. Tworzenie rozszerzeń na MozzilaZine -
  5. Tworzenie rozszerzeń -
  6. ">Tworzenie rozszerzeń -
  7. Słownik Języka Polskiego -
-

--
-Napisał: Leszek (Teo) Życzkowski -

diff --git a/files/pl/orphaned/web/api/childnode/index.html b/files/pl/orphaned/web/api/childnode/index.html deleted file mode 100644 index 474d201570..0000000000 --- a/files/pl/orphaned/web/api/childnode/index.html +++ /dev/null @@ -1,191 +0,0 @@ ---- -title: ChildNode -slug: orphaned/Web/API/ChildNode -tags: - - API - - DOM - - Experimental - - Interface - - NeedsTranslation - - Node - - TopicStub -translation_of: Web/API/ChildNode -original_slug: Web/API/ChildNode ---- -
{{APIRef("DOM")}}
- -

The childNodes interface contains methods that are particular to {{domxref("Node")}} objects that can have a parent.

- -

childNodes is a raw interface and no object of this type can be created; it is implemented by {{domxref("Element")}}, {{domxref("DocumentType")}}, and {{domxref("CharacterData")}} objects.

- -

Properties

- -

There are neither inherited, nor specific properties.

- -

Methods

- -

There are no inherited methods.

- -
-
{{domxref("childNodes.remove()")}} {{experimental_inline}}
-
Removes this childNodes from the children list of its parent.
-
{{domxref("childNodes.before()")}} {{experimental_inline}}
-
Inserts a set of {{domxref("Node")}} or {{domxref("DOMString")}} objects in the children list of this childNodes's parent, just before this childNodes. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.
-
{{domxref("childNodes.after()")}} {{experimental_inline}}
-
Inserts a set of {{domxref("Node")}} or {{domxref("DOMString")}} objects in the children list of this childNodes's parent, just after this childNodes. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.
-
{{domxref("childNodes.replaceWith()")}} {{experimental_inline}}
-
Replaces this childNodes in the children list of its parent with a set of {{domxref("Node")}} or {{domxref("DOMString")}} objects. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.
-
- -

Specifications

- - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#interface-childnode', 'childNodes')}}{{Spec2('DOM WHATWG')}}Split the ElementTraversal interface in {{domxref("ParentNode")}} and childNodes. previousElementSibling and nextElementSibling are now defined on the latter. The {{domxref("CharacterData")}} and {{domxref("DocumentType")}} implemented the new interfaces. Added the remove(), before(), after() and replaceWith() methods.
{{SpecName('Element Traversal', '#interface-elementTraversal', 'ElementTraversal')}}{{Spec2('Element Traversal')}}Added the initial definition of its properties to the ElementTraversal pure interface and use it on {{domxref("Element")}}.
- -

Polyfill

- -

External on github: childNode.js

- -

Browser compatibility

- -

{{ CompatibilityTable }}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support (on {{domxref("Element")}}){{CompatChrome(1.0)}}{{CompatVersionUnknown}}{{CompatGeckoDesktop(23)}}9.010.04.0
Support on {{domxref("DocumentType")}} and {{domxref("CharacterData")}} {{experimental_inline}}{{CompatChrome(23.0)}}{{CompatNo}}{{CompatGeckoDesktop(23)}}{{CompatNo}}16.0{{CompatNo}}
remove(){{experimental_inline}}{{CompatChrome(29.0)}}{{CompatVersionUnknown}}{{CompatGeckoDesktop(23)}}{{CompatNo}}16.0{{CompatNo}}
before(), after(), and replaceWith() {{experimental_inline}}{{CompatChrome(54.0)}}{{CompatNo}}{{CompatGeckoDesktop(49)}}{{CompatNo}}{{CompatOpera(39)}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidAndroid WebviewEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari MobileChrome for Android
Basic support (on {{domxref("Element")}}){{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile(23)}}{{CompatVersionUnknown}}10.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Support on {{domxref("DocumentType")}} and {{domxref("CharacterData")}} {{experimental_inline}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatGeckoMobile(23)}}{{CompatNo}}16.0{{CompatNo}}{{CompatVersionUnknown}}
remove(){{experimental_inline}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile(23)}}{{CompatNo}}16.0{{CompatNo}}{{CompatVersionUnknown}}
before(), after(), and replaceWith() {{experimental_inline}}{{CompatNo}}{{CompatChrome(54.0)}}{{CompatNo}}{{CompatGeckoMobile(49)}}{{CompatNo}}{{CompatOperaMobile(39)}}{{CompatNo}}{{CompatChrome(54.0)}}
-
- -

See also

- - diff --git a/files/pl/orphaned/web/api/childnode/remove/index.html b/files/pl/orphaned/web/api/childnode/remove/index.html deleted file mode 100644 index 6b77c445b2..0000000000 --- a/files/pl/orphaned/web/api/childnode/remove/index.html +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: ChildNode.remove() -slug: orphaned/Web/API/ChildNode/remove -translation_of: Web/API/ChildNode/remove -original_slug: Web/API/ChildNode/remove ---- -
{{APIRef("DOM")}}
- -

Metoda ChildNode.remove() usuwa obiekt z drzewa, do którego należy.

- -

Składnia

- -
node.remove();
-
- -

Przykład

- -

Użycie remove()

- -
<div id="div-01">To jest div-01</div>
-<div id="div-02">To jest div-02</div>
-<div id="div-03">To jest div-03</div>
-
- -
var el = document.getElementById('div-02');
-el.remove(); // Usuwa div z ID 'div-02'
-
- -

ChildNode.remove() jest poza zakresem

- -

Metoda remove() nie wchodzi w zakres wyrażenia with. Zobacz  {{jsxref("Symbol.unscopables")}}, aby uzyskać więcej informacji.

- -
with(node) {
-  remove();
-}
-// ReferenceError: remove is not defined 
- -

Polyfill

- -

Można utworzyć polyfill metody remove() w Internet Explorer 9 (lub wyższej wersji) za pomocą następującego kodu: 

- -
// from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md
-(function (arr) {
-  arr.forEach(function (item) {
-    if (item.hasOwnProperty('remove')) {
-      return;
-    }
-    Object.defineProperty(item, 'remove', {
-      configurable: true,
-      enumerable: true,
-      writable: true,
-      value: function remove() {
-        this.parentNode.removeChild(this);
-      }
-    });
-  });
-})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
- -

Specyfikacje

- - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#dom-childnode-remove', 'ChildNode.remove')}}{{Spec2('DOM WHATWG')}}Initial definition.
{{SpecName('DOM4', '#dom-childnode-remove', 'ChildNode.remove')}}{{Spec2('DOM4')}} 
- -

Kompatybilność z przeglądarkami

- -
{{Compat("api.ChildNode.remove")}}
- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/api/elementcssinlinestyle/style/index.html b/files/pl/orphaned/web/api/elementcssinlinestyle/style/index.html deleted file mode 100644 index 3760e21a4d..0000000000 --- a/files/pl/orphaned/web/api/elementcssinlinestyle/style/index.html +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: element.style -slug: orphaned/Web/API/ElementCSSInlineStyle/style -tags: - - DOM - - Dokumentacja_Gecko_DOM - - Gecko - - Strony_wymagające_dopracowania - - Wszystkie_kategorie -translation_of: Web/API/ElementCSSInlineStyle/style -original_slug: Web/API/ElementCSSInlineStyle/style ---- -

{{ ApiRef("DOM") }}

- -

Podsumowanie

- -

Zwraca obiekt reprezentujący atrybut style elementu.

- -

Przykład

- -
var div = document.getElementById("div1");
-div.style.marginTop = ".25in";
-
- -

Uwagi

- -

Ponieważ własność style reprezentuje atrybut style, który ma najwyższy priorytet w kaskadzie CSS, własność ta jest użyteczna by ustawić styl określonego elementu. Nie przyda się jednak do sprawdzania stylu elementu, ponieważ zależy ona tylko od atrybutu style, a nie od reguł stylów określonych gdziekolwiek indziej. Możesz użyć window.getComputedStyle, by sprawdzić styl elementu.

- -

Zobacz listę własności CSS dostępnych w DOM, gdzie znajdziesz też dodatkowe uwagi o zastosowaniu własności style.

- -

Ogólnie rzecz biorąc, lepiej jest użyć własność style zamiast elt.setAttribute('style', '...'), ponieważ użycie style nie nadpisze innych własności CSS, które mogły być wcześniej określone atrybutem style.

- -

Styli nie można ustawiać poprzez przekazywania łańcucha znaków do atrybutu style (tylko odczyt), np. elt.style = "color: blue;". Jest to niemożliwe ponieważ atrybut stylu zwraca obiekt CSSStyleDeclaration . Zamiast tego, możesz ustawić poszczególne własności atrybutu style w ten sposób:

- -
elt.style.color = "blue";  // Directly
-
-var st = elt.style;
-st.color = "blue";  // Indirectly
-
- -

Poniższy kod wyświetli nazwy wszystkich własności stylu, wartości ustawione dla elementu elt oraz dziedziczone 'przeliczone'' wartości:

- -
var elt = document.getElementById("elementIdHere");
-var out = "";
-var st = elt.style;
-var cs = window.getComputedStyle(z, null);
-for (x in st)
-  out += "  " + x + " = '" + st[x] + "' > '" + cs[x] + "'\n";
-
- -

Specyfikacja

- -

DOM Level 2 Style: ElementCSSInlineStyle.style

diff --git a/files/pl/orphaned/web/api/htmlorforeignelement/dataset/index.html b/files/pl/orphaned/web/api/htmlorforeignelement/dataset/index.html deleted file mode 100644 index e85163f19a..0000000000 --- a/files/pl/orphaned/web/api/htmlorforeignelement/dataset/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: HTMLElement.dataset -slug: orphaned/Web/API/HTMLOrForeignElement/dataset -translation_of: Web/API/HTMLOrForeignElement/dataset -original_slug: Web/API/HTMLOrForeignElement/dataset ---- -
{{ APIRef("HTML DOM") }}
- -

Właściwość dataset interfejsu {{domxref("HTMLElement")}} pozwala na odczyt/zapis niestandardowcyh atrybutów (data-*) elementu. Dostęp ten jest możliwy w HTMLu jak i w DOMie.  It is a map of DOMString, one entry for each custom data attribute. Zauważ że właściwość dataset można odczytać, ale nie zmieniać bezpośrednio. Zamiast tego, wszystkie zapisy muszą być wykonywane na pojedynczych polach dataset, które odpowiadają atrybutom danych. Note also that an HTML data-attribute and its corresponding DOM dataset.property do not share the same name, but they are always similar:

- - - -

In addition to the information below, you'll find a how-to guide for using HTML data attributes in our article Using data attributes.

- -

Zmiana nazw

- -

dash-style to camelCase: A custom data attribute name is transformed to a key for the {{ domxref("DOMStringMap") }} entry with the following rules

- - - -

camelCase to dash-style: The opposite transformation, that maps a key to an attribute name, uses the following rules:

- - - -

The restriction in the rules above ensures that the two transformations are the inverse one of the other.

- -

For example, the attribute named data-abc-def corresponds to the key abcDef.

- - - -

Dostęp do wartości

- - - - - -

Ustawianie wartości

- - - -

Składnia

- - - -

Przykłady

- -
<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth>John Doe</div>
- -
const el = document.querySelector('#user');
-
-// el.id == 'user'
-// el.dataset.id === '1234567890'
-// el.dataset.user === 'johndoe'
-// el.dataset.dateOfBirth === ''
-
-// set the data attribute
-el.dataset.dateOfBirth = '1960-10-03';
-// Result: el.dataset.dateOfBirth === 1960-10-03
-
-delete el.dataset.dateOfBirth;
-// Result: el.dataset.dateOfBirth === undefined
-
-// 'someDataAttr' in el.dataset === false
-el.dataset.someDataAttr = 'mydata';
-// Result: 'someDataAttr' in el.dataset === true
-
- -

Specyfikacje

- - - - - - - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('HTML WHATWG', "dom.html#dom-dataset", "HTMLElement.dataset")}}{{Spec2('HTML WHATWG')}}No change from latest snapshot, {{SpecName('HTML5.1')}}
{{SpecName('HTML5.1', "dom.html#dom-dataset", "HTMLElement.dataset")}}{{Spec2('HTML5.1')}}Snapshot of {{SpecName('HTML WHATWG')}}, no change from {{SpecName('HTML5 W3C')}}
{{SpecName('HTML5 W3C', "dom.html#dom-dataset", "HTMLElement.dataset")}}{{Spec2('HTML5 W3C')}}Snapshot of  {{SpecName('HTML WHATWG')}}, initial definition.
- -

Browser compatibility

- - - -

{{Compat("api.HTMLElement.dataset")}}

- -

Zobacz także

- - diff --git a/files/pl/orphaned/web/api/htmlorforeignelement/tabindex/index.html b/files/pl/orphaned/web/api/htmlorforeignelement/tabindex/index.html deleted file mode 100644 index 355ef13072..0000000000 --- a/files/pl/orphaned/web/api/htmlorforeignelement/tabindex/index.html +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: element.tabIndex -slug: orphaned/Web/API/HTMLOrForeignElement/tabIndex -tags: - - DOM - - Dokumentacja_Gecko_DOM - - Gecko - - Wszystkie_kategorie -translation_of: Web/API/HTMLOrForeignElement/tabIndex -original_slug: Web/API/HTMLOrForeignElement/tabIndex ---- -
- {{APIRef}}
-
-  
-
- Podsumowanie
-

Pobiera/ustawia kolejność tabulacji dla bieżącego elementu.

-

Składnia

-
element.tabIndex = indeks
-
- -

Przykład

-
var b1 = document.getElementById("button1");
-
-b1.tabIndex = 1;
-

Specyfikacja

- diff --git a/files/pl/orphaned/web/api/navigator/registercontenthandler/index.html b/files/pl/orphaned/web/api/navigator/registercontenthandler/index.html deleted file mode 100644 index 9f138e2111..0000000000 --- a/files/pl/orphaned/web/api/navigator/registercontenthandler/index.html +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Navigator.registerContentHandler -slug: orphaned/Web/API/Navigator/registerContentHandler -tags: - - DOM - - Dokumentacja_Gecko_DOM - - Gecko - - Wszystkie_kategorie -translation_of: Web/API/Navigator/registerContentHandler -original_slug: Web/API/Navigator/registerContentHandler ---- -

{{ ApiRef() }}

- -

Podsumowanie

- -

Pozwala stronom na zarejestrowanie się jako możliwe serwisy obsługujące zawartości konkretnego typu MIME.

- -

{{ Note("Strony internetowe mogą zarejestrować tylko siebie jako serwisy obsługujące zawartość. Ze względów bezpieczeństwa nie jest możliwe, aby rozszerzenie lub strona internetowa zarejestrowały inną stronę do obsługi zawartości.") }}

- -

Składnia

- -
window.navigator.registerContentHandler(mimeType,
-uri,
-title);
-
- - - -

Przykład

- -
navigator.registerContentHandler("application/vnd.mozilla.maybe.feed",
-                                 "http://www.przyklad.tld/?foo=%s",
-                                 "Mój Czytnik Kanałów");
-
- -

Uwagi

- -

W Firefoksie 2 obsługiwane są tylko typy MIME application/vnd.mozilla.maybe.feed, application/atom+xml oraz application/rss+xml. Wszystkie wartości mają ten sam efekt, a zarejestrowane strony obsługujące otrzymają kanały we wszystkich wersjach Atom i RSS.

- -

Specyfikacja

- -

Określona przez szkic roboczy Web Applications 1.0 organizacji WHATWG.

- -
 
- -

{{ languages( { "en": "en/DOM/window.navigator.registerContentHandler", "ja": "ja/DOM/window.navigator.registerContentHandler" } ) }}

diff --git a/files/pl/orphaned/web/api/parentnode/children/index.html b/files/pl/orphaned/web/api/parentnode/children/index.html deleted file mode 100644 index f7f80ac704..0000000000 --- a/files/pl/orphaned/web/api/parentnode/children/index.html +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: ParentNode.children -slug: orphaned/Web/API/ParentNode/children -tags: - - API - - Dzieci - - Dziecko - - Kolekcja HTML - - Potomek - - Potomkowie - - Właściwość - - węzeł -translation_of: Web/API/ParentNode/children -original_slug: Web/API/ParentNode/children ---- -
{{ APIRef("DOM") }}
- -

The {{domxref("ParentNode")}} właściwość children jest właściwością tylko do odczytu (read-only) która zwraca aktualną kolekcję {{domxref("HTMLCollection")}} zawierającą wszystkie elementy podrzędne {{domxref("Element", "elements")}} węzła, na którym został wywołany.

- -

Składnia

- -
let children = node.children;
- -

Value

- -

{{ domxref("HTMLCollection") }} aktualna, uporządkowana kolekcja elementów DOM które są potomkami node. Możesz otrzymać pojedynczych potomków kolekcji używając albo {{domxref("HTMLCollection.item()", "item()")}} metody na kolekcji, albo używając notacji w stylu tablicowym języka JavaScript.

- -

Jeżeli element node nie ma potomków, wtedy children jest pustą listą o długości 0 (length of 0).

- -

Przykład

- -
const foo = document.getElementById('foo');
-for (let i = 0; i < foo.children.length; i++) {
-  console.log(foo.children[i].tagName);
-}
-
- -

Uzupełnienie

- -
// Nadpisuje natywny prototyp 'children'.
-// Dodaje Document & DocumentFragment wsparcie dla IE9 & Safari.
-// Zwraca tablicę zamiast HTMLCollection.
-;(function(constructor) {
-  if (constructor &&
-    constructor.prototype &&
-    constructor.prototype.children == null) {
-    Object.defineProperty(constructor.prototype, 'children', {
-      get: function() {
-        let i = 0, node, nodes = this.childNodes, children = [];
-        while (node = nodes[i++]) {
-          if (node.nodeType === 1) {
-            children.push(node);
-          }
-        }
-        return children;
-      }
-    });
-  }
-})(window.Node || window.Element);
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#dom-parentnode-children', 'ParentNode.children')}}{{Spec2('DOM WHATWG')}}Wstępna definicja
- -

Zgodność z przeglądarkami

- - - -

{{Compat("api.ParentNode.children")}}

- -

Zobacz także

- - diff --git a/files/pl/orphaned/web/api/parentnode/index.html b/files/pl/orphaned/web/api/parentnode/index.html deleted file mode 100644 index f2d4862961..0000000000 --- a/files/pl/orphaned/web/api/parentnode/index.html +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: ParentNode -slug: orphaned/Web/API/ParentNode -tags: - - API - - DOM - - Finding Elements - - Finding Nodes - - Interface - - Locating Elements - - Locating Nodes - - Managing Elements - - Managing Nodes - - Mixin - - NeedsTranslation - - Node - - ParentNode - - Reference - - Selectors - - TopicStub -translation_of: Web/API/ParentNode -original_slug: Web/API/ParentNode ---- -
{{APIRef("DOM")}}
- -

The ParentNode mixin contains methods and properties that are common to all types of {{domxref("Node")}} objects that can have children. It's implemented by {{domxref("Element")}}, {{domxref("Document")}}, and {{domxref("DocumentFragment")}} objects.

- -

See Locating DOM elements using selectors to learn how to use CSS selectors to find nodes or elements of interest.

- -

Properties

- -
-
{{domxref("ParentNode.childElementCount")}} {{readonlyInline}}
-
Returns the number of children of this ParentNode which are elements.
-
{{domxref("ParentNode.children")}} {{readonlyInline}}
-
Returns a live {{domxref("HTMLCollection")}} containing all of the {{domxref("Element")}} objects that are children of this ParentNode, omitting all of its non-element nodes.
-
{{domxref("ParentNode.firstElementChild")}} {{readonlyInline}}
-
Returns the first node which is both a child of this ParentNode and is also an Element, or null if there is none.
-
{{domxref("ParentNode.lastElementChild")}} {{readonlyInline}}
-
Returns the last node which is both a child of this ParentNode and is an Element, or null if there is none.
-
- -

Methods

- -
-
{{domxref("ParentNode.append()")}} {{experimental_inline}}
-
Inserts a set of {{domxref("Node")}} objects or {{domxref("DOMString")}} objects after the last child of the ParentNode. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.
-
{{domxref("ParentNode.prepend()")}} {{experimental_inline}}
-
Inserts a set of {{domxref("Node")}} objects or {{domxref("DOMString")}} objects before the first child of the ParentNode. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.
-
{{domxref("ParentNode.querySelector()")}}
-
Returns the first {{domxref("Element")}} with the current element as root that matches the specified group of selectors.
-
{{domxref("ParentNode.querySelectorAll()")}}
-
Returns a {{domxref("NodeList")}} representing a list of elements with the current element as root that matches the specified group of selectors.
-
- -

Specification

- - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#parentnode', 'ParentNode')}}{{Spec2('DOM WHATWG')}}Split the ElementTraversal interface into {{domxref("ChildNode")}} and {{domxref("ParentNode")}}. The {{domxref("ParentNode.firstElementChild")}}, {{domxref("ParentNode.lastElementChild")}}, and {{domxref("ParentNode.childElementCount")}} properties are now defined on the latter. Added the {{domxref("ParentNode.children")}} property, and the {{domxref("ParentNode.querySelector()")}}, {{domxref("ParentNode.querySelectorAll()")}}, {{domxref("ParentNode.append()")}}, and {{domxref("ParentNode.prepend()")}} methods.
{{SpecName('Element Traversal', '#interface-elementTraversal', 'ElementTraversal')}}{{Spec2('Element Traversal')}}Added the initial definition of its properties to the ElementTraversal pure interface and used it on {{domxref("Element")}}.
- -

Browser compatibility

- - - -

{{Compat("api.ParentNode")}}

- -

See also

- - diff --git a/files/pl/orphaned/web/api/stylesheet/ownerrule/index.html b/files/pl/orphaned/web/api/stylesheet/ownerrule/index.html deleted file mode 100644 index 5e80ebe2da..0000000000 --- a/files/pl/orphaned/web/api/stylesheet/ownerrule/index.html +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: stylesheet.ownerRule -slug: orphaned/Web/API/Stylesheet/ownerRule -tags: - - DOM - - Dokumentacja_Gecko_DOM - - Gecko - - Wszystkie_kategorie -original_slug: Web/API/Stylesheet/ownerRule ---- -

{{ ApiRef() }}

-

Podsumowanie

-

Jeżeli arkusz stylów pochodzi z reguły @import, własność ownerRule będzie zawierać regułę CSSImportRule.

-

Składnia

-
rule = stylesheet.ownerRule
-
-

Parametry

- -

Uwagi

-

Zauważ, że jeżeli wartość własności ownerNode bieżącego elementu STYLE wynosi NULL, wówczas reguła ownerRule zwróci !!TODO!!. I odwrotnie.

-

Specyfikacja

-

ownerRule

-

{{ languages( { "en": "en/DOM/stylesheet.ownerRule" } ) }}

diff --git a/files/pl/orphaned/web/api/uievent/cancelbubble/index.html b/files/pl/orphaned/web/api/uievent/cancelbubble/index.html deleted file mode 100644 index af37387a13..0000000000 --- a/files/pl/orphaned/web/api/uievent/cancelbubble/index.html +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: event.cancelBubble -slug: orphaned/Web/API/UIEvent/cancelBubble -tags: - - DOM - - Wszystkie_kategorie -translation_of: Web/API/UIEvent/cancelBubble -original_slug: Web/API/UIEvent/cancelBubble ---- -

{{ ApiRef() }}

-

Podsumowanie

-

Wskazuje, czy zostało anulowane bąbelkowanie tego zdarzenia.

-

Składnia

-
bool = event.cancelBubble
-
-

{{ languages( { "en": "en/DOM/event.cancelBubble" } ) }}

diff --git a/files/pl/orphaned/web/guide/events/creating_and_triggering_events/index.html b/files/pl/orphaned/web/guide/events/creating_and_triggering_events/index.html deleted file mode 100644 index 48b07b10ce..0000000000 --- a/files/pl/orphaned/web/guide/events/creating_and_triggering_events/index.html +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: dispatchEvent - przykład -slug: orphaned/Web/Guide/Events/Creating_and_triggering_events -tags: - - DOM - - Dokumentacja_Gecko_DOM - - Gecko - - Wszystkie_kategorie -translation_of: Web/Guide/Events/Creating_and_triggering_events -translation_of_original: Web/Guide/Events/Event_dispatching_example -original_slug: Web/Guide/Events/Creating_and_triggering_events ---- -
- {{ ApiRef() }}
-

Poniższy przykład przedstawia symulację kliknięcia w pole wyboru opartą o metody DOM. Możesz zobaczyć przykład w działaniu.

-
function simulateClick() {
-  var evt = document.createEvent("MouseEvents");
-  evt.initMouseEvent("click", true, true, window,
-    0, 0, 0, 0, 0, false, false, false, false, 0, null);
-  var cb = document.getElementById("checkbox");
-  var canceled = !cb.dispatchEvent(evt);
-  if(canceled) {
-    // metoda obsługi zdarzenia wywołała preventDefault
-    alert("canceled");
-  } else {
-    // nie wywołano preventDefault
-    alert("not canceled");
-  }
-}
-
-

 

-

 

-
-  
-

{{ languages( { "en": "en/DOM/dispatchEvent_example", "es": "es/DOM/dispatchEvent_example", "fr": "fr/DOM/dispatchEvent_exemple" } ) }}

diff --git a/files/pl/orphaned/web/guide/html/html5/index.html b/files/pl/orphaned/web/guide/html/html5/index.html deleted file mode 100644 index 67660867ab..0000000000 --- a/files/pl/orphaned/web/guide/html/html5/index.html +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: HTML5 -slug: orphaned/Web/Guide/HTML/HTML5 -tags: - - CSS3 - - HTML - - HTML 5 -translation_of: Web/Guide/HTML/HTML5 -original_slug: Web/Guide/HTML/HTML5 ---- -

HTML5 jest najnowszą wersją standardu opisującego język HTML. Termin ten możemy zdefiniować na dwa sposoby:

- - - -

Zawarta poniżej treść przeznaczona jest do zastosowania przez wszystkich programistów, strona zawiera dużo informacji na temat technologii HTML5, która została opisana w kilku grupach podzielonych według ich funkcji.

- - - -
-

Semantyka

- -
-
Elementy sekcji zawarte w dokumencie HTML5
-
Poznaj nowe elementy przedstawiające sekcje dokumentu wprowadzone do HTML5: {{HTMLElement("section")}}, {{HTMLElement("article")}}, {{HTMLElement("nav")}}, {{HTMLElement("header")}}, {{HTMLElement("footer")}} i {{HTMLElement("aside")}}.
-
Zastosowanie elementów audio i video
-
Elementy {{HTMLElement("audio")}} i {{HTMLElement("video")}} pozwalają zagnieżdżać i zarządzać zawartością multimediów.
-
Formularze w HTML5
-
Spojrzenie na ulepszenia formularzy sieciowych w HTML5: wymuszenie poprawności API, kilka nowych atrybutów, nowe wartości dla atrybutów {{HTMLElement("input")}} {{htmlattrxref("type", "input")}} i nowego elementu {{HTMLElement("output")}}.
-
Nowe semantyczne elementy 
-
Obok sekcji, elementów mediów i formularzy, są liczne, nowe elementy takie jak: {{HTMLElement("mark")}}, {{HTMLElement("figure")}}, {{HTMLElement("figcaption")}}, {{HTMLElement("data")}}, {{HTMLElement("time")}}, {{HTMLElement("output")}}, {{HTMLElement("progress")}}, lub {{HTMLElement("meter")}} i {{HTMLElement("main")}}, zwiększenie ilości elementów poprawności HTML 5.
-
Ulepszenia w {{HTMLElement("iframe")}}
-
Używając atrybutów {{htmlattrxref("sandbox", "iframe")}}, {{htmlattrxref("seamless", "iframe")}} i {{htmlattrxref("srcdoc", "iframe")}} , autorzy mogą teraz precyzyjniej określać poziom bezpieczeństwa i pożądane wyświetlanie elementów {{HTMLElement("iframe")}}.
-
MathML
-
Pozwala na bezpośrednie umieszczanie formuł matematycznych.
-
Wprowadzenie do HTML5
-
Ten artykuł pokazuje jak przekazać przeglądarce, że używasz HTML 5 na swojej stronie internetowej lub w aplikacji.
-
Parser zgodny z HTML5
-
Parser, który przetwarza dokument HTML na DOM, został rozszerzony i teraz precyzyjnie definiuje zachowanie we wszystkich przypadkach, nawet w wypadku niepoprawnego HTML-a. To prowadzi do znacznie większej przewidywalności zachowania strony i współpracy między przeglądarkami zgodnymi z HTML 5.
-
- -

Połączenia

- -
-
Web Sockets (dwukierunkowa komunikacja z serwerem)
-
Pozwala tworzyć stabilne połączenie pomiędzy stroną i serwerem, i  wymieniać nie-HTML-owe dane.
-
Server-Sent Events (zdarzenia wysłane przez serwer)
-
Pozwala serwerowi na "własnowolne" wysyłanie zdarzeń do klienta, inaczej niż w przypadku klasycznego paradygmatu, w którym serwer mógł wysyłać dane tylko w odpowiedzi na zapytanie klienta.
-
WebRTC
-
Ta technologia, w której RTC oznacza Komunikację Czasu Rzeczywistego(Real-Time Communication), pozwala na łączenie się z innymi i kontrolowanie wideokonferencji bezpośrednio z przeglądarki, bez potrzeby korzystania z wtyczek lub zewnętrznych aplikacji.
-
- -

Tryb Offline i przechowywanie

- -
-
Zasoby offline: pamięć cache aplikacji
-
Firefox w pełni wspiera specyfikację zasobów offline HTML5. Większość innych przeglądarek wspiera ją w podobnym stopniu.
-
Zdarzenia online i offline
-
Firefox 3 wspiera zdarzenia WHATWG online i offline, dzięki czemu aplikacje i dodatki mogą wykryć czy istnieje aktywne połączenie internetowe, a także wykrywać kiedy połączenie wygaśnie i kiedy jest aktywne.
-
Sesje WHATWG po stronie klienta i trwałe przechowywanie (aka Magazyn DOM)
-
Sesje po stronie klienta i trwałe magazynowanie pozwalają aplikacjom sieciowym przechowywać dane strukturalne po stronie klienta.
-
IndexedDB
-
IndexedDB jest sieciowym standardem przechowywania znacznych ilości danych strukturalnych w przeglądarce i wysokiej wydajności wyszukiwania w tych danych za pomocą indeksów.
-
Używanie plików z aplikacji internetowych
-
Wsparcie dla nowego API plików HTML5 zostało dodane do Gecko, tworząc możliwość dostępu aplikacji internetowych do plików lokalnych wybranych przez użytkownika. Obejmuje też wsparcie dla wielokrotnego wyboru plików z użyciem {{HTMLElement("input")}} z atrybutem type file i nowym atrybutem elementu: multiple. Istnieje także FileReader.
-
- -

Multimedia

- -
-
Zastosowanie elementów audio i video w HTML5
-
Znaczniki {{HTMLElement("audio")}} i {{HTMLElement("video")}} pozwalają osadzać i manipulować nowymi zawartościami multimedialnymi.
-
WebRTC
-
Ta technologia, w której RTC oznacza Komunikację Czasu Rzeczywistego(Real-Time Communication), pozwala na łączenie się z innymi i kontrolowanie wideokonferencji bezpośrednio z przeglądarki, bez potrzeby korzystania z wtyczek lub zewnętrznych aplikacji.
-
Używanie API kamery internetowej
-
Pozwala używać, manipulować i przechowywać obrazy z kamerki komputerowej.
-
Track and WebVTT
-
Znacznik {{HTMLElement("track")}} pozwala  tworzyć napisy i rozdziały. WebVTT jest formatem ścieżek tekstowych.
-
- -

EFEKTY I GRAFIKA 3D

- -
-
Przewodnik po Canvas
-
Informacje o nowym elemencie {{HTMLElement("canvas")}} wraz z opisem jak działa użyty do rysowania grafik i obiektów w Firefoksie.
-
HTML5 text API dla elementów <canvas>
-
HTML5 text API jest teraz wspierane przez elementy {{HTMLElement("canvas")}}.
-
WebGL
-
WebGL przenosi grafikę 3D do sieci poprzez wprowadzenie API, które ściśle odpowiada OpenGl ES 2.0 i może być używane w znacznikach HTML5 {{HTMLElement("canvas")}}.
-
SVG (Scalable Vector Graphics) - skalowalna grafika wektorowa
-
Bazujący na XML-u format grafiki wektorowej, który może być bezpośrednio osadzony w HTML-u.
-
- -
-

WYDAJNOŚĆ i iNTEGRACJA

- -
-
Web Workers
-
Umożliwia przekazanie działania JavaScript do wątków w tle, dzięki czemu zapobiega spowalnianiu wydarzeń interaktywnych.
-
XMLHttpRequest Poziom 2
-
Umożliwia asynchroniczne pobieranie części strony, co umożliwia wyświetlanie elementów dynamicznych, zmieniających się w zależności od czasu i działań użytkownika. Jest to "następca" Ajax-a.
-
JIT-compiling JavaScript engines (kompilowalne silniki JavaScript)
-
Nowa generacja silników JavaScript jest o wiele potężniejsza i ma świetną wydajność.
-
API do obsługi przycisku wstecz (History API)
-
Pozwala manipulować historią przeglądania. Jest użyteczne zwłaszcza na stronach ładujących interaktywnie nowe informacje.
-
Atrybut contentEditable: przekształć swoją stronę w encyklopedię!
-
HTML5 ustandaryzował atrybut contentEditable. Dowiedz się więcej o tej właściwości.
-
Przeciągnij i upuść
-
API 'przeciągnij i upuść' w HTML5 wspiera przeciąganie i upuszczanie elementów wewnątrz strony i pomiędzy stronami. Upraszcza to także API dla dodatków i aplikacji bazujących na technologiach Mozilli.
-
Zarządzanie aktywnością w HTML
-
Nowe atrybuty HTML5 activeElement i hasFocus są już wspierane.
-
Obsługa protokołów opartych na sieci
-
Możesz teraz zarejestrować aplikacje internetowe jako obsługę protokołów używając funkcji navigator.registerProtocolHandler().
-
requestAnimationFrame
-
Pozwala kontrolować renderowanie animacji dla uzyskania optymalnej wydajności.1
-
Pełnoekranowe API
-
Kontroluje użycie całego ekranu dla stron internetowych lub aplikacji sieciowych bez wyświetlania UI przeglądarki.
-
Blokowanie kursora
-
Powala zablokować wskaźnik do zawartości, więc  gry i podobne aplikacje nie utracą aktywności kiedy kursor będzie na granicy okna.
-
Zdarzenia online i offline
-
Aby stworzyć dobrze obsługującą tryb offline aplikację internetową trzeba wiedzieć, kiedy aplikacja jest rzeczywiście offline. Prawdę mówiąc, musisz wiedzieć też, kiedy aplikacja powróci do stanu online.
-
- -

DOSTĘP DO URZĄDZENIA

- -
-
-
Używanie API kamery internetowej
-
Pozwala używać, manipulować i przechowywać obrazy z kamerki komputerowej.
-
Zdarzenia dotykowe
-
Narzędzia do obsługi zdarzeń tworzonych przez użytkownika używającego ekranu dotykowego.
-
Geolokacja
-
Pozwól przeglądarce zlokalizować pozycję użytkownika przy użyciu geolokacji.
-
Wykrywanie orientacji urządzenia
-
Pobierz informację o zmianie orientacji urządzenia na którym pracuje przeglądarka. Może ona być użyta jako urządzenie wejściowe( np w grach reagujących na zmianę pozycji urządzenia) lub służyć przystosowaniu layoutu strony do aktualnej orientacji urządzenia (portrait lub landscape)
-
-
Blokowanie kursora
-
Powala zablokować wskaźnik do zawartości, więc  gry i podobne aplikacje nie utracą aktywności kiedy kursor będzie na granicy okna.
-
- -

stylizacja

- -

CSS zostało rozszerzone, aby móc o wiele wygodniej stylizować elementy. Jest często nazywane CSS3, choć CSS nie jest monolitycznym tworem, w którym wszystkie elementy są na poziomie 3. Część jest na poziomie 1, część na 4, Lub którymś z poziomów pośrednich.

- -
-
Nowe właściwości stylizacji tła
-
Teraz jest możliwe dodanie cienia do box-ów używając {{cssxref("box-shadow")}}, a także można ustawić wielokrotne tło.
-
Bardziej fantazyjne obramowania
-
Teraz nie tylko możliwe jest stylizowanie obramowań za pomocą obrazów, używając {{cssxref("border-image")}} i związanych z pismem odręcznym właściwościami, ale także zaokrąglenia obramowań są wspierane przez właściwość {{cssxref("border-radius")}}.
-
Wpraw w ruch swój styl
-
Używając Przejść CSS do animacji przejść pomiędzy różnymi stanami lub używając Animacji CSS do animowania części strony, bez zdarzenia wywołującego, możesz teraz kontrolować elementy interaktywne na twojej stronie.
-
Poprawa typografii Typography improvement
-
Autorzy mają większą kontrolę dla osiągnięcia lepszej typografii. Mogą kontrolować {{cssxref("text-overflow")}} i dzielenie wyrazów, a także mogą dodawać cienie i precyzyjniej kontrolować dekoracje tekstu. Niestandardowe kroje można pobrać i zastosować za pomocą {{cssxref("@font-face")}}.
-
Nowe, prezentacyjne layouty
-
W celu polepszenia elastyczności designów zostały dodane dwa nowe layouty: CSS multi-column layout(wielokolumnowy layout CSS) i CSS flexible box layout(layout elastycznego pudełka CSS).
-
-
-
- -
-
-
diff --git a/files/pl/orphaned/web/html/element/comment/index.html b/files/pl/orphaned/web/html/element/comment/index.html deleted file mode 100644 index ece2baf0f6..0000000000 --- a/files/pl/orphaned/web/html/element/comment/index.html +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: comment -slug: orphaned/Web/HTML/Element/comment -tags: - - HTML:Opis_elementów -original_slug: Web/HTML/Element/comment ---- -

 

- -

Podsumowanie

- -

Element HTML <!-- ... --> (komentarz) jest używany do oznaczania tekstu, który nie jest wyświetlany użytkownikowi. Znaczniki komentarza mogą otaczać tylko kilka słów lub całe fragmenty strony. W szczególności ciągi myślników (---) nie powinny się pojawiać wewnątrz znaczników komentarza.

- -

Przykład

- -
   <p>Spędziliśmy miłe chwile podczas naszych letnich wakacji. <!-- Opowiedzieć tutaj
-   o Wielkim Kanionie. --> Lecz naprawdę wspaniale jest wrócić.</p>
-
- -

Rezultat

- -

Spędziliśmy miłe chwile podczas naszych letnich wakacji. Lecz naprawdę wspaniale jest wrócić.

- -

Notatki

- -

Komentarze HTML są widziane przez końcowego użytkownika poprzez funkcję przeglądarki "Pokaż źródło", zatem nie powinny być używane do trzymania istotnych informacji.

- -

Zobacz także

- -

Specyfikacja HTML 4.01: Comments

- -

{{ HTML:Element_Navigation() }}

- -

{{ languages( { "en": "en/HTML/Element/comment" } ) }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/dodawanie_obiektom_nowej_funkcjonalno\305\233ci/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/dodawanie_obiektom_nowej_funkcjonalno\305\233ci/index.html" deleted file mode 100644 index e6d709946d..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/dodawanie_obiektom_nowej_funkcjonalno\305\233ci/index.html" +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Dodawanie obiektom nowej funkcjonalności. -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Dodawanie_obiektom_nowej_funkcjonalności. -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Dodawanie_obiektom_nowej_funkcjonalności. ---- -

Każdy obiekt JavaScriptu posiada zadeklarowane, właściwe dla siebie funkcje, jak np. obiekt String posiada takie funkcje jak toUpperCase() czy toLowerCase(), które odpowiadają odpowiednio za przekonwertowanie liter na duże i małe. Za pomocą prototypów możemy dodać własne funkcje. Poniżej przedstawiony został kod, który zwraca pierwszą literę łańcucha znaków, na którym została wykonana nasza metoda.

-

 

-

String.prototype.firstLetter = function() {

-

 var callObject = this;

-

 return callObject.charAt(0);
-

-

};

-

 

-

Dysponując tak przygotowanym kodem, możemy teraz użyć naszej metody firstLetter() na dowolnym łańcuchu znaków.

-

 

-

alert("hello".firstLetter());

-

 

-

Powyższy kod wyświetli w okienku dialogowym typu alert literę h.

-

 

-

 

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_manipulacji_obiektem/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_manipulacji_obiektem/index.html" deleted file mode 100644 index fd480baaa0..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_manipulacji_obiektem/index.html" +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Instrukcje manipulacji obiektem -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_manipulacji_obiektem -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_manipulacji_obiektem ---- -

 

-

Instrukcja manipulacji obiektem

-

JavaScript używa instrukcji for...in i with do manipulacji obiektami.

-

Instrukcja for...in

-

Instrukcja for...in cyklicznie powtarza specyficzną wartość wszystkich właściwości obiektu. Dla każdej oddzielnej właściwości, JavaScript wykonuje specyficzna instrukcję. Instrukcja for...in wygląda jak pętle:

-
for (variable in object) {
-   instrukcje
-}
-
-

Przykład
- Następujaca funkcja pobiera obiekt i jego nazwę jako argument. Następnie iteruje ją nad wszystkimi właściwościami obiektu i zwraca łańcuch, którym jest lista właściwościami nazw i ich wartości.

-
function dump_props(obj, obj_name) {
-   var result = "";
-   for (var i in obj) {
-      result += obj_name + "." + i + " = " + obj[i] + "<BR>"
-   }
-   result += "<HR>";
-   return result;
-}
-
-

Dla obiektu car z właściwościami make i model, będzie rezultat:

-
car.make = Ford
-car.model = Mustang
-
-

Instrukcja with

-

Instrukcja with nawiązuje z domyślnym obiektem for ustawienia instrukcji. W JavaScript jakikolwiek z niewykwalifikowanych nazw bez ustawień instrukcji określającej domyślny obraz. Jeśli niewykwalifikowana nazwa odpowiada właściwości, to właściwość jest użyta w instrukcji; w przeciwnym wypadku zostanie użyta, zmienna lokalna lub globalna.

-

Składnia pętli with wygląda:

-
with (object){
-   instrukcja
-}
-
-

Przykład
- Następująca instrukcja with określa, że obiekt Math jest obiektem domyślnym. Następująca instrukcja with odwołuje sie do właściwości instrukcji metod PI i cos i sin, bez specyficznego obiektu. JavaScript bierze na siebie obiekt Math dla tych referencji.

-
var a, x, y;
-var r=10
-with (Math) {
-   a = PI * r * r;
-   x = r * cos(PI);
-   y = r * sin(PI/2);
-}
-
-

Nota: Używając instrukcji with znacząco spowolniasz jego działanie.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/index.html" deleted file mode 100644 index 7c7cb73aba..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/index.html" +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Instrukcje obsługi wyjątków -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_obsługi_wyjątków -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_obsługi_wyjątków ---- -

 

-

Instrukcje obsługi wyjątków

-

Możesz wywoływać wyjątki używając instrukcji throw i obsługiwać je za pomocą instrukcji try...catch.

-

Instrukcji try...catch używa się również do obsługi wyjątków Javy. Zobacz Obsługa wyjątków Javy w JavaScript i Komunikacja między Java a JavaScript, aby uzyskać więcej informacji.

- -

Typy wyjątków

-

Niemal każdy wyjątek może zostać wywołany w JavaScripcie. Niemniej jednak nie wszystkie wywołane obiekty są tworzone jako równe. Choć częste jest wyświetlanie liczb lub łańcuchów znaków jako błędów, użycie jednego z typów wyjątków stworzonych szczególnie do tego celu jest bardziej efektywne:

- -

{{ PreviousNext("Przewodnik po języku JavaScript 1.5:Instrukcje komentarzy", "Przewodnik po języku JavaScript 1.5:Instrukcje obsługi wyjątków:Instrukcja throw") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/instrukcja_throw/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/instrukcja_throw/index.html" deleted file mode 100644 index 18944e3ca0..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/instrukcja_throw/index.html" +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Instrukcja throw -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_obsługi_wyjątków/Instrukcja_throw -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_obsługi_wyjątków/Instrukcja_throw ---- -
-

Instrukcja throw

-

Użyj instrukcji throw, aby wywołać wyjątek. Gdy wywołujesz wyjątek, określasz wyrażenie zawierające wartość, która ma zostać wywołana:

-
throw wyrazenie;
-
-

Możesz wywołać dowolne wyrażenie, nie tylko wyrażenie konkretnego typu. Poniższy kod wywołuje kilka wyjątków różnych typów:

-
throw "Error2";
-throw 42;
-throw true;
-throw {toString: function() { return "Jestem obiektem!"; } };
-
-
- Uwaga: Możesz określić obiekt podczas wywoływania wyjątku. Można się wtedy odnieść do własności obiektu w bloku catch. Poniższy przykład tworzy obiekt myUserException typu UserException i używa go w instrukcji throw.
-

 

-
// Utwórz obiekt typu UserException
-function UserException (message)
-{
-  this.message=message;
-  this.name="UserException";
-}
-
-// Przekonwertuj wyjątek do ładnego łańcucha znaków,
-// gdy ma on zostać użyty jako łańcuch znaków (np. przez konsolę błędów)
-UserException.prototype.toString = function ()
-{
-  return this.name + ': "' + this.message + '"';
-}
-
-// Utwórz instancję typu obiektu i wywołaj ją
-throw new UserException("Za duża wartość");
-
-
-

{{ PreviousNext("Przewodnik po języku JavaScript 1.5:Instrukcje obsługi wyjątków", "Przewodnik po języku JavaScript 1.5:Instrukcje obsługi wyjątków:Instrukcja try...catch") }}

-
-
-

 

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/instrukcja_try...catch/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/instrukcja_try...catch/index.html" deleted file mode 100644 index f9d1e27010..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_obs\305\202ugi_wyj\304\205tk\303\263w/instrukcja_try...catch/index.html" +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Instrukcja try...catch -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_obsługi_wyjątków/Instrukcja_try...catch -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_obsługi_wyjątków/Instrukcja_try...catch ---- -

 

-

Instrukcja try...catch

-

Instrukcja try...catch śledzi blok instrukcji try, i określa jedną lub więcej odpowiedzi które powinny wyrzucić wyjątki. Jeśli wyjątek jest rzucony, instrukcja try...catch go łapie.

-

Instrukcja try...catch stanowi blok try, który stanowi jedną lub więcej instrukcji, i zero lub więcęj bloków stanowiących catch, instrukcję, który określa będzie wykonana jeśli wyjątek wystąpi w bloku try. To jest, to co nastąpi w bloku try, i jeśli nie nastąpi, chcesz przejąć kontrolę bloku catch. Jeśli jakakolwiek instrukcja bez bloku try (lub w nazwie funkcji nie występuje blok try) wyrzucany jest wyjątek, kontrola natychmiastowo wraca do bloku wyjątku, catch. Jeśli nie jest wyrzucony wyjątek w następującym bloku try, blok catch zostanie opuszczony. Blok kończący (finall) wykonany jest po wykonanych blokach try i catch przed instrukcjami następująca instrukcja try...catch.

-

Następujący przykład używa instrukcji try...catch. Przykład nazywa się funkcją, która odzyskuje nazwę miesiąca z tablicy, która jest ulokowana w wartości przychodzącej do funkcji. Jeśli wartość nie jest przesyłana jako numer miesiąca (1-12), wyrzucony jest wyjątek wartości InvalidMonthNo i instrukcje w bloku catch ustawiają zmienną monthName na unknown.

-
function getMonthName (mo) {
-    mo=mo-1; // Adjust month number for array index (1=Jan, 12=Dec)
-    var months=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul",
-          "Aug","Sep","Oct","Nov","Dec");
-    if (months[mo] != null) {
-       return months[mo]
-    } else {
-       throw "InvalidMonthNo"
-    }
-}
-
-try {
-// statements to try
-    monthName=getMonthName(myMonth) // function could throw exception
-}
-catch (e) {
-    monthName="unknown"
-    logMyErrors(e) // pass exception object to error handler
-}
-
-

Blok catch

-

Użyj pojedyńczego bloku catch do uchwytu wszystkich wyjątków, które mogą generować w bloku try, lub Ty potrafisz użyć separatora bloków catch, każdego, którego uchwyty są szczególnym typem wyjątku.

-

Pojedyńczy blok catch
- Użyj pojedyńczej instrukcji try...catch, bloku catch (odzyskanie bloku) wykonane kodu błędu uchwytu dla kazdego wyjątku wyrzuconego w bloku try.

-

Pojedyńczy blok catch ma następującą składnie:

-
catch (catchID) {
-  statements
-}
-
-

Blok catch wyszczególnia identyfikatory (catchID w poprzedzającej składni), którego wartość jest trzymana w bliżej określnonej instrukcji throw; użyj tego identyfikatora do pobrania informacji o wyjątku, który był zrzucony. JavaScript tworzy ten identyfikator, kiedy catch jest wstępem; ostatni identyfikator tylko dla czasu działanaia bloku catch; po bloku catch kończy wykonywanie identyfikatora, który jest nie długo dostępny.

-

Na przykład, następujący kod wyrzuca wyjątek. Kiedy wyjątek ma miejsce kontrolne cesje są w bloku catch.

-
try {
-   throw "myException" // generuje wyjątek
-}
-catch (e) {
-// instrukcja trzymająca jakikolwiek wyjątek
-   logMyErrors(e) // przechodzi z obiektu wyjątku exception object to error handler
-}
-
-

Wielokrotne bloki catch
- Pojedyńcza instrukcja try stanowi wielokrotny warunkowe bloki catch, każdy który trzyma określony typ wyjątku. W tym przypadku przywłaszcza odpowiedni warunek blok catch jest możliwy wstęp tylko kiedy wyjątek określa, który blok jest wyrzucony. Mozesz także opcjonalnie dla wszystkich bliżej nieokreślonych bloku wyjątków catch-all catch jako finalnego bloku w instrukcji bloku catch.

-

Na przykład, nstępująca instrukcja powołuje się na trzy inne funkcje (deklarując je gdziekolwiek) który waliduje jego argumenty. Jeśli funkcja walidacji decyduje który komponent jest sprawdzany to wskazuje który nie przechodzi walidacji, to zwraca 0, wywołując odpowiednia wyskok szczególnego wątku.

-
function getCustInfo(name, id, email)
-{
-   var n, i, e;
-
-   if (!validate_name(name))
-       throw "InvalidNameException"
-   else
-       n = name;
-       if (!validate_id(id))
-          throw "InvalidIdException"
-       else
-          i = id;
-       if (!validate_email(email))
-          throw "InvalidEmailException"
-       else
-          e = email;
-       cust = (n + " " + i + " " + e);
-       return (cust);
-}
-
-

Blok warunkowy catch kontroluje drogę dobierając odpowiedni uchwyt wyjątku.

-
try {
-// funkcja wyrzucająca trzy wyjątki
-   getCustInfo("Lee", 1234, "lee@netscape.com")
-}
-
-catch (e if e == "InvalidNameException") {
-// nazwa uchwytu dla niepoprawnej nazwy
-   bad_name_handler(e)
-}
-
-catch (e if e == "InvalidIdException") {
-// nazwa uchwytu dla błędnych id
-   bad_id_handler(e)
-}
-
-catch (e if e == "InvalidEmailException") {
-// nazwa uchwytu dla błednego adresu email
-   bad_email_handler(e)
-}
-
-catch (e){
-// nie wiadomo co robi, ale się loguje
-   logError(e)
-}
-
-

Blok finally

-

Blok finally stanowi instrukcja wykonywana po sprawdzeniu i wykonaniu bloku catch, ale przed następującą instrukcją try...catch. Blok finally wykonany gdziekolwiek lub nie jest wyjątkiem thrown. Jeśli wyjątek jest thrown, instrukcje w bloku finally wykonane równo, jeśli blok catch trzyma wyjątek.

-

Możesz używać bloku finally do zrobienia Twojego błędnego skryptu, kiedy ma miejsce wyjątku; na przykład, możesz potrzebować zwolnić źródło, którego Twój skrypt ma powiązanego. Następujący przykład otwiera plik i następnie wykonuje instrukcję, która użyje pliku (server-side pozwoli Ci w JavaScript uzyskać dostęp do pliku). Jeśli wyjątek jest rzucony, gdy plik jest otwarty, a blok finally zamyka pliki przed danymi skryptami.

-
openMyFile();
-try {
-   writeMyFile(theData)
-}
-finally {
-   closeMyFile() // zawsze zamykaj źródło
-}
-
-

Zagnieżdżanie instrukcji try...catch

-

Żądaj jeden lub więcej instrukcji try...catch. Jeśli wewnętrzna instrukcja try...catch nie ma bloku catch, otoczamy blok catch i instrukcja try...catch jest zaznaczona dla danej wartości.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_break/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_break/index.html" deleted file mode 100644 index 60ba2b381e..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_break/index.html" +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Instrukcja break -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_break -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_break ---- -

 

-

Instrukcja break

-

Użyjemy instrukcji break chcąc zakończyć jedną z instrukcji pętli switch, lub label .

- -

Składnia instrukcji break wygląda jak poniższy przykład:

-
1. break
-2. break label
-
-

Pierwsza forma składni przerywa najgłębszą otoczoną nawiasami lub instrukcje pętlę switch; druga forma składni przerywa specjalnie pętlę zamkniętą i oznaczoną etykietę instrukcji.

-

Przykład
- Następujący przykład powtarza pętle poprzez elementy w tablicy aż do momentu, znalezienia element indeksu, który jest wartością theValue:

-
for (i = 0; i < a.length; i++) {
-   if (a[i] = theValue)
-      break;
-}
-
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_continue/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_continue/index.html" deleted file mode 100644 index e34bd2d3c7..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_continue/index.html" +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Instrukcja continue -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_continue -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_continue ---- -

 

-

Instrukcja continue

-

Instrukcja continue możemy użyć do ponownego uruchomienia instrukcji while, do-while, for, lub label tzw. etykiety.

- -

Składnia instrukcji continue wygląda następująco:

-
    -
  1. continue
  2. -
  3. continue label
  4. -
-

Przykład 1
- Następujący przykład pokazuje pętlę while z instrukcja continue, która jest wykonana wtedy, gdy wartość i jest liczbą trzy. W ten sposób, n pobiera wartości jeden, trzy, siedem, dwanaście.

-
i = 0;
-n = 0;
-while (i < 5) {
-   i++;
-   if (i == 3)
-      continue;
-   n += i;
-}
-
-

Przykład 2
- Etykieta instrukcji checkiandj stanowi etykietę instrukcji checkj. Jeśli continue zostanie napotkane, program przerwie aktualnie wykonywaną iterację checkj i rozpocznie następną iterację. Za każdym razem, gdy continue zostanie napotkane, checkj wykonuje ponownie iterację aż do momentu, gdy warunek stanie się nieprawdziwy. Kiedy został napotkany nieprawdziwy warunek, to powtarza, reszta instrukcji checkiandj jest dopełniona, i checkiandj ponownie iteruje aż jego warunek zwróci wartość nieprawdziwą. Kiedy false jest zwracany, to program kontynuuje następującą instrukcję checkiandj.

-

Jeśli continue miało pętlę checkiandj, to program będzie kontynuował instrukcję checkiandj, aż osiągnie jej najwyższą wartość.

-
checkiandj :
-   while (i < 4) {
-      document.write(i + "<br/>");
-      i += 1;
-      checkj :
-         while (j > 4) {
-            document.write(j + "<br/>");
-            j -= 1;
-            if ((j % 2) == 0)
-               continue checkj;
-            document.write(j + " is odd.<br/>");
-         }
-      document.write("i = " + i + "<br/>");
-      document.write("j = " + j + "<br/>");
-   }
-
-

 

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_do_...while/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_do_...while/index.html" deleted file mode 100644 index bcf8ee6c0a..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_do_...while/index.html" +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Instrukcja do ...while -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_do_...while -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_do_...while ---- -

 

-

Instrukcja do...while

-

Instrukcja do...while powtarza specyficzny warunek, aż do momentu, kiedy uzna go za fałszywy. Instrukcja do...while wygląda następująco:

-
do
-   statement
-while (condition);
-
-

Instrukcja (statement zostanie wykonany raz, zanim warunek zostanie sprawdzony. Jeśli warunek (condition) jest prawdziwy (true), instrukcja zostanie wykonana ponownie. Warunek jest sprawdzany na końcu każdego wykonania. Kiedy warunek jest fałszywy (false), wykonanie zostaje zatrzymane i kontrola jest przekazywana do instrukcji następującej po pętli do...while.

-

Przykład
- W następnym przykładzie, pętla iteracyjna wykonuje się, co najmniej raz, i powraca wykonując pętlę iteracyjną dopóki wartość i jest mniejsza niż 5.

-
do {
-   i += 1;
-   document.write(i);
-} while (i < 5);
-
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_for/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_for/index.html" deleted file mode 100644 index 26a1d6ae95..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_for/index.html" +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Instrukcja for -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_for -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_for ---- -

 

-

Instrukcja for

-

Pętla for jest powtarzana aż do momentu, kiedy testowany warunek staje się fałszywy. W JavaScript pętla for jest podobna do pętli w Java i C. Instrukcja pętli for wygląda następująco:

-
for ([przypisanie]; [warunek]; [zmiana]) {
-   Instrukcje
-}
-
-

Kiedy pętla for jest wykonywana to mają miejsce:

-
    -
  1. Inicjalizacja wyrażenia przypisanie, jeśli coś jest wykonywane. To wyrażenie często inicjuje jedną lub więcej pętli, ale kod pozwala na wyrażenia o różnym stopniu złożoności. To wyrażenie może deklarować zmienne.
  2. -
  3. Wyrażenie warunek jest wykonane. Jeśli wartość warunek jest prawdziwa, instrukcja pętli jest wykonana. Jeśli wartość warunek jest fałszywa, pętla for jest przerwana. Jeśli wyrażenie warunek jest w całości opuszczone, warunek to bierze na siebie, jeśli jest prawdziwy.
  4. -
  5. Wykonuje instrukcje.
  6. -
  7. Aktualizuje wyrażenia zmiana, jeśli jedna wykonywana to kontrola jest przekazywana do kroku drugiego.
  8. -
-

Przykład
- Następująca funkcja stanowi instrukcję for, która to tworzy licznik zaznaczonych opcji w liście przewijanej (obiekt Select, który pozwala na wielokrotne zaznaczenia). Instrukcja for deklaruje zmienną i i inicjuje ją od zera. Sprawdza, które i jest mniejsze niż liczba opcji w obiekcie Select wykonując kolejną instrukcję if, i zwiększa i o jeden po każdej wykonanej pętli.

-
<script type="text/javascript">//<![CDATA[
-
-function howMany(selectObject) {
-   var numberSelected = 0;
-   for (var i = 0; i < selectObject.options.length; i++) {
-      if (selectObject.options[i].selected)
-         numberSelected++;
-   }
-   return numberSelected;
-}
-
-//]]></script>
-<form name="selectForm">
-   <p>
-      <strong>Choose some music types, then click the button below:</strong>
-      <br/>
-      <select name="musicTypes" multiple="multiple">
-         <option selected="selected">R&B</option>
-         <option>Jazz</option>
-         <option>Blues</option>
-         <option>New Age</option>
-         <option>Classical</option>
-         <option>Opera</option>
-      </select>
-   </p>
-   <p>
-      <input type="button" value="How many are selected?"
-         onclick="alert ('Number of options selected: ' + howMany(document.selectForm.musicTypes))"/>
-   </p>
-</form>
-
-

 

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_label/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_label/index.html" deleted file mode 100644 index 399b465450..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_label/index.html" +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Instrukcja label -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_label -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_label ---- -

 

-

Instrukcja label

-

Instrukcja label dostarcza instrukcję wraz z identyfikatorem, który odnosi się całkiem gdzie indziej w Twoim programie. Na przykład, możesz użyć label do zidentyfikowania pętli i następnie w niej użyć instrukcję break lub continue, do wskazania miejsca gdzie program powinien zinterpretować pętlę lub kontynuować jego wykonanie.

-

Składnia instrukcji label wygląda następująco:

-
label :
-   Instrukcja
-
-

Wartością label może być w JavaScript identyfikator, który jest nie zarezerwowanym słowem. Instrukcja to identyfikujesz z etykietą, która może być jakąś instrukcją.

-

Przykład
- W tym przykładzie, etykieta markLoop identyfikuje pętle while.

-
markLoop:
-while (theMark == true)
-   doSomething();
-}
-
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_while/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_while/index.html" deleted file mode 100644 index 2d6fe74eab..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/instrukcje_p\304\231tli/instrukcja_while/index.html" +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Instrukcja while -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_while -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Instrukcje_pętli/Instrukcja_while ---- -

 

-

Instrukcja while

-

Instrukcja while wykonuje instrukcje tak długo, dopóki warunek będzie prawdziwy. Instrukcja pętli while wygląda następująco:

-
while (warunek) {
-   instrukcje
-}
-
-

Jeśli warunek stanie się fałszywy, instrukcja wewnątrz pętli zatrzyma wykonywanie i identyfikatorach kontroli w instrukcji następującej pętli.

-

Test warunku ma miejsce przed wykonaniem pętli instrukcji. Jeśli warunek będzie prawdziwy, instrukcje są wykonywane i ponownie jest wykonywany test warunku. Jeśli warunek będzie fałszywy, wykonywanie pętli jest zatrzymanie i przejście kontroli do następującej instrukcji while.

-

Przykład 1
- Następująca pętla while wykonuje iterację (powtarza) tak długo aż n jest mniejsze od trzech:

-
n = 0;
-x = 0;
-while( n < 3 ) {
-   n ++;
-   x += n;
-}
-
-

Do każdej wykonanej pętli iteracji, przyrost pętli n i dodanie te wartości x. Dlatego, x i n pobierają następujące wartości:

- -

Po uzupełnieniu trzeciego przejścia, warunek n < 3 jest wartość prawdziwa, więc pętla zostanie przerwana.

-

Przykład 2
- Nieskończoność pętli. Upewnij się czy warunek pętli ostatecznie staje się fałszywym; innym razem, pętla nigdy nie zostanie przerwana. Instrukcja w następującej pętli while występuje bezustannie, ponieważ warunek nigdy nie stanie się fałszywy.

-
while (true) {
-   alert("Hello, world") }
-
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/o_tym_przewodniku/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/o_tym_przewodniku/index.html" deleted file mode 100644 index 59e73c9eb9..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/o_tym_przewodniku/index.html" +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: O tym przewodniku -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/O_tym_przewodniku -tags: - - JavaScript - - Przewodnik_JavaScript - - Strony_wymagające_dopracowania - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/O_tym_przewodniku ---- -

Nowe możliwości wersji JavaScriptu

- - - -

Co już powinieneś wiedzieć

- -

Ten dokument zakłada, że jego czytelnik ma podstawowe pojęcie na temat niżej wymienionych dziedzin:

- - - -

Przydatne, aczkolwiek nie wymagane, jest doświadczenie w językach programowania takich jak C czy Visual Basic.

- -

Wersje JavaScriptu

- -

Każda wersja przeglądarek Netscape Navigator, Mozilla i Mozilla Firefox obsługuje różne wersje języka JavaScript. Aby ułatwić pisanie skryptów zgodnych z różnymi wersjami przeglądarek Netscape/Mozilla/Firefox, w każdym rozdziale poświęconym danej możliwości języka podajemy listę wersji JavaScriptu obsługujących daną funkcjonalność.

- -

Poniższa tabela zawiera numery wersji JavaScriptu i odpowiadające im numery wersji przeglądarek te wersje obsługujących. Wersje Netscape Navigatora starsze niż 2.0 nie obsługują JavaScriptu.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Wersja JavaScriptWersja Navigatora
JavaScript 1.0Navigator 2.0
JavaScript 1.1Navigator 3.0
JavaScript 1.2Navigator 4.0-4.05
JavaScript 1.3Navigator 4.06-4.7x
JavaScript 1.4 
JavaScript 1.5Navigator 6.0
- Mozilla (przeglądarka open source)
JavaScript 1.6Firefox 1.5, other Mozilla 1.8-based products
JavaScript 1.7Firefox 2, other Mozilla 1.8.1-based products
JavaScript 1.8Firefox 3, other Gecko 1.9-based products
- -

Tablica 1: Wersje JavaScriptu oraz Navigatora
-  

- -

Każda wersja serwera Netscape Enterprise Server także obsługuje inną wersję JavaScriptu. Aby ułatwić pisanie skryptów zgodnych z różnymi wersjami Enterprise Server, w każdym rozdziale poświęconym danej możliwości języka podajemy wersję NES/FES, w której zaimplementowano daną funkcjonalność.

- - - - - - - - - - - - - - - - -
SkrótWersja Enterprise Server
NES 2.0Netscape Enterprise Server 2.0
NES 3.0Netscape Enterprise Server 3.0
- -

Tablica 2: Skróty oraz wersje Netscape Enterprise Server

- -

Gdzie szukać informacji o JavaScripcie

- -

Na kompletną bazę informacji o języku JavaScript składają się następujące dokumenty:

- - - -

Jeśli JavaScript stanowi dla Ciebie nowość, zacznij od Przewodnika po języku JavaScript 1.5. Kiedy posiądziesz już podstawową wiedzę, możesz skorzystać z Dokumentacji języka JavaScript 1.5, by szybko odnaleźć konkretne informacje na temat obiektów i poleceń.

- -

Wskazówki do nauki JavaScript

- -

Rozpoczęcie pracy z JavaScript jest proste: wszystko czego potrzebujecie to nowoczesna przeglądarka internetowa. Ten przewodnik zawiera elementy JavaScript, które są rozpoznawalne jedynie w ostatnich najnowszych wersji przeglądarki Firefox (lub w innych opartych na silniku Gecko przeglądarkach), dlatego zaleca się używanie jak najnowszej wersji przeglądarki Firefox.

- -

Interaktywny interpreter

- -

Do nauki języka zachęca wspaniały interpreter, który umożliwia pełną interaktywność bez zapisywania i odświeżania strony. Konsola błędów Firefox, dostępna w menu narzędzia, oferuje łatwy, interaktywny, sposób wykonywania skryptów JavaScript: po prostu wejdź na linię kodu oraz kliknij przycisk "Evaluate".

- -

Image:ErrorConsole.png

- -

Firebug

- -

Bardziej zaawansowana interaktywna podpowiedź dostępna jest pod adresem: Firebug, trzecia część rozszerzenia Firefox. Firebug dostarcza zarówno zaawansowany kontroler DOM, jak i debuger JavaScript oraz przydatne narzędzia i różne inne programy użytkowe:

- -

Image:Firebug.png

- -

jedno z najbardziej użytecznych ułatwień oferowanych przez Firebug w console.log(), funkcja która zapisuje jego argumenty do konsoli Firebug. W przeciwieństwie do innych języków programowania w JavaScript nie ma możliwości pisania na standardowym wyjściu. console.log() stanowi pożyteczną alternatywę obserwowania bardzo łatwo tego co twój program robi.

- -

Wiele przykładów w tym przewodniku używa alert() do zobaczenia komunikatów z ich wykonania. Jeśli masz zainstalowanego Firebug możesz użyć console.log() w miejsce alert() w czasie działania tych przykładów.

- -

Konwencje dokumentu

- -

Aplikacje JavaScript działają pod wieloma systemami operacyjnymi; informacje zawarte w tym przewodniku dotyczą ich wszystkich. Ścieżki plików i katalogów są podane w formacie Windows (z odwrotnym ukośnikiem oddzielającym nazwy folderów). Pod Uniksami ścieżki są te same, wystarczy jedynie zastąpić odwrotny ukośnik\ zwykłym ukośnikiem/ .

- -

Przewodnik ten używa uniform resource locators (adresów URL) w następującej formie:

- -

http://server.domain/path/file.html

- -

W tym adresie URL, "serwer" reprezentowany jest poprzez nazwę znajdującą się na serwerze w której uruchomisz aplikacje, także jako poszukiwane słowo lub strona WWW; "domena" reprezentowana jest poprzez twoją nazwę domeny w internecie, tak jak netscape.com lub uiuc.edu; "ścieżki" reprezentują strukturę katalogów na tym serwerze, a "file.html" reprezentuje indywidualną nazwę pliku. Generalnie pozycje, które mają w ścieżce kursywę, która jest osadzona i jest ona normalną czcionką literową. Jeśli twój serwer posiada Secure Sockets Layer (SSL), będziesz używał protokołu https zamiast http w adresie URL.

- -

Przewodnik ten stosuje z następującą konwencją czcionki:

- -
-
Czcionka monospace
-
Jest użyta do prostych kodów oraz ich listingów, API i elementy języka (także jako metody i nazwy własności), nazwa pliku, nazwa ścieżki, nazwa katalogu, tagi HTML i jakiś tekst musi być zadeklarowany przy wyświetlaniu. (Kursywa czcionki Monospace jest użyta w osadzonych miejscach klasera w kodzie strony).
-
Kursywa 
-
Jest użyta dla tytułów, nagłówków, zmiennych i specjalnych miejscach, i słów użytych w dosłownym znaczeniu.
-
Boldface 
-
Typ używany do terminów słownikowych.
-
- -

{{ PreviousNext("Przewodnik po języku JavaScript 1.5", "Przewodnik po języku JavaScript 1.5:Przegląd JavaScriptu") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_array/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_array/index.html" deleted file mode 100644 index ef2c4710fe..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_array/index.html" +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: Obiekt Array -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Array -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Array ---- -

 

-

Obiekt Array

-

JavaScript nie ma wyraźnych danych typu - - array - . Jednakże, możesz użyć predefiniowanego obiektu Array i jego metod do pracy z tabelami w twojej aplikacji. Obiekt Array posiada metody do manipulacji tablicami w zmiennych przypadkach, także jako łączyć, odwraca je na lewą stronę, i sortuje je. Decydując o długości - - array - i innych właściwości użytych w wyrażeniach regularnych.

-

- - array - jest uporządkowane ustawienia wartości, które odsyłają do nazwy i indeksu. Na przykład, możesz mieć tablice nazwaną emp, która stanowi nazwę indeksu przez jego numer pracownika. Więc emp{{ mediawiki.external(1) }} będzie pracownik z numerem jeden, emp{{ mediawiki.external(2) }} pracownik z numerem dwa i tak dalej.

-

Tworzenie tablicy

-

Utwórz obiekt Array:

-
1. arrayObjectName = new Array(element0, element1, ..., elementN)
-2. arrayObjectName = new Array(arrayLength)
-
-

arrayObjectName jest nazwą nowego obiektu lub właściwości istniejącego obiektu. Kiedy używamy właściwości i metody Array, arrayObjectName jest nazwą istniejącego obiektu Array lub właściwość istniejącego obiektu.

-

element0, element1, ..., elementN jest listą wartości dla elementów tablicowych. Kiedy ta forma określa, inicjowanie tablicy z określoną wartością jako jego elementy i właściwości długości tablicowej, która jest ustawiona jako liczby lub argumenty.

-

arrayLength jest inicjowanie długości w tablicy. Następujący kod tworzy tablice na pięć elementów:

-
billingMethod = new Array(5)
-
-

Literały Array sa także obiektami Array; na przykład, następujący literał jest obiektem Array. Zobacz Literały tablicy aby uzyskać więcej szczegółów.

-
coffees = ["French Roast", "Columbian", "Kona"]
-
-

Zapełnienie tablicy

-

Możesz wypełnić tablicę przydzielonymi wartościami elementów. Na przykład,

-
emp[1] = "Casey Jones"
-emp[2] = "Phil Lesh"
-emp[3] = "August West"
-
-

Możesz także wypełnić tablicę jeśli utworzysz:

-
myArray = new Array("Hello", myVar, 3.14159)
-
-

Kierowanie do elementu tablicy

-

Kierowanie do elementu tablicy używając przypisanie numeru odpowiedniemu elementowi. Na przykład, przypuśćmy, że zdefiniujesz następującą tablice:

-
myArray = new Array("Wiatr","Deszcz","Ogień")
-
-

Następnie kieruje się do pierwszego elementu tablicy jako myArray{{ mediawiki.external(0) }} i drugi element tablicy jako myArray{{ mediawiki.external(1) }}. Indeks elementów zaczyna się wraz z zerem (0), ale długość tablicy (na przykład, myArray.length) odzwierciedla numer elementów w tablicy.

-

Metody

-

Obiekt Array posiada następujące metody:

- -

Na przykład, przypuśćmy, że zdefiniujemy następującą tablice:

-
myArray = new Array("Wiatr","Deszcz","Ogień")
-
-

myArray.join() zwraca "Wiatr","Deszcz","Ogień"; myArray.reverse transportuje tablicę więc, który myArray[0] jest "Ogień", myArray{{ mediawiki.external(1) }} jest "Deszcz", i myArray{{ mediawiki.external(2) }} jest "Wiatr". myArray.sort sortuje tablicę więc, który myArray{{ mediawiki.external(0) }} jest "Ogień", myArray{{ mediawiki.external(1) }} jest "Deszcz", i myArray{{ mediawiki.external(2) }} jest "Wiatr".

-

Tablice dwuwymiarowe

-

Następujący kod tworzy tablicę dwuwymiarową.

-
a = new Array(4)
-for (i=0; i < 4; i++) {
-   a[i] = new Array(4)
-   for (j=0; j < 4; j++) {
-      a[i][j] = "["+i+","+j+"]"
-   }
-}
-
-

Ten przykład tworzy tablicę z następującymi wierszami:

-
Row 0:[0,0][0,1][0,2][0,3]
-Row 1:[1,0][1,1][1,2][1,3]
-Row 2:[2,0][2,1][2,2][2,3]
-Row 3:[3,0][3,1][3,2][3,3]
-
-

Tablice i wyrażenia regularne

-

Kiedy - - array - jest rezultatem pomiędzy wyrażeniami regularnymi i łańcucha, - - array - zwraca właściwości i elementy, które dostarczają informacji o odpowiedniku. Wartość - - array - jest zwracany RegExp.exec, String.match, i String.split. Dla uzyskania informacji, jak używać tablicę z wyrażeniami regularnymi Wyrażenia regularne.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_boolean/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_boolean/index.html" deleted file mode 100644 index e5f39bbaf6..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_boolean/index.html" +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Obiekt Boolean -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Boolean -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Boolean ---- -

 

-

Obiekt Boolean

-

Obiekt Boolean jest otoczeniem wokół prymitywnych danych typu Boolean. Użyj następującej składni do utworzenia obiektu Boolean:

-
booleanObjectName = new Boolean(wartość)
-
-

Nie pomieszaj prymitywnej wartości Boolean true i false z wartościami true i false obiektu Boolean. Jakikolwiek obiekt którego wartość obiektu jest nie undefined , null, 0, NaN, lub pusty łańcuch, włączając obiekt Boolean, którego wartość jest nieprawdziwa (false), ocenia jako prawdziwy (true), kiedy przechodzi do instrukcji warunkowej. Zobacz artykuł Instrukcja if...else aby zdobyć więcej informacji.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_date/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_date/index.html" deleted file mode 100644 index fc278291a8..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_date/index.html" +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: Obiekt Date -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Date -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Date ---- -

 

-

Obiekt Date

-

JavaScript nie posiada danych typu date. Jednakże, możesz użyć obiektu Date i jego metod do pracy z datami i czasem w swoich aplikacjach. Obiekt Date posiada wiele metod do ustawiania, pobierania i manipulacji datami. Nie posiada żadnych właściwości.

-

W JavaScript uchwyty dat są podobne jak w Java. Oba języki mają wiele takich samych metod i oba języki przechowują daty w liczbie milisekund od 1-ego stycznia 1970, 00:00:00.

-

Obiekt Date jest z zakresu -100,000,000 dni do 100,000,000 dni odnosząc się do 01 stycznia, 1970 UTC.

-

Do utworzenia obiektu Date służy:

-
dateObjectName = new Date([parameters])
-
-

gdzie: dateObjectName jest nazwą tworzonego obiektu; Date potrafi też być nowym obiektem lub właściwością już istniejącego obiektu.

-

W poprzedniej składni parameters mogły być:

- -

JavaScript 1.2 i wcześniejsze
- Obiekt Date postępuje następująco:

- -

Metody obiektu Date

-

Metody obiektu Date są do obsługi daty i czasu zawartego w tych obszernych kategoriach:

- -

Z metodami "get" i "set" możemy pobrać i ustawić sekundy, minuty, godziny, dni miesiąca, dni tygodnia, miesiące, jak i poszczególne lata. Istnieje metoda getDay, która zwraca dzień tygodnia, ale nie współpracuje z metodą setDay, ponieważ dzień tygodnia jest ustawiany automatycznie. Te metody używają liczb całkowitych do reprezentacji następujących wartości:

- -

Na przykład, przypuśćmy, że zdefiniowałeś następującą datę:

-
Xmas95 = new Date("December 25, 1995")
-
-

Następnie Xmas95.getMonth() zwraca 11, i Xmas95.getFullYear() zwraca 1995.

-

Metody getTime i setTime są użyteczne dla porównania dat. Metoda getTime zwraca liczbę milisekund od 1 stycznia 1970, 00:00:00 ( - - January 1, 1970, 00:00:00 - ) dla obiektu Date.

-

Na przykład, następujący kod wyświetla liczbę dni opuszczonych w aktualnym roku:

-
today = new Date()
-endYear = new Date(1995,11,31,23,59,59,999) // Ustawia dni i miesiące
-endYear.setFullYear(today.getFullYear()) // Ustawia ilość lat '''(?)'''
-msPerDay = 24 * 60 * 60 * 1000 // Liczba milisekund na dzień
-daysLeft = (endYear.getTime() - today.getTime()) / msPerDay
-daysLeft = Math.round(daysLeft) //zwraca dni opuszczone dni w roku
-
-

Ten przykład stworzył obiekt Date nazywany today, który stanowi dzisiejszą datę. Następnie utworzył obiekt Date nazwany endYear i ustawi się od roku do aktualnego roku. Następnie, użyje liczbę milisekund na dzień, to obliczy liczbę dni pomiędzy dzisiejszym dniem today a endYear, używających getTime i zaokrąglenie do liczby dni.

-

Metoda parse jest użyteczna dla przydzielania wartości z łańcucha daty do wykorzystania przez obiekty Date. Na przykład, następujący kod używa parse i setTime do przydzielenia wartości obiektu IPOdate:

-
IPOdate = new Date()
-IPOdate.setTime(Date.parse("Aug 9, 1995"))
-
-

Używanie obiektu Date: Przykład

-

W następującym przykładzie, funkcja JSClock() zwraca czas w formacie zegara cyfrowego.

-
function JSClock() {
-   var time = new Date()
-   var hour = time.getHours()
-   var minute = time.getMinutes()
-   var second = time.getSeconds()
-   var temp = "" + ((hour > 12) ? hour - 12 : hour)
-   if (hour == 0)
-      temp = "12";
-   temp += ((minute < 10) ? ":0" : ":") + minute
-   temp += ((second < 10) ? ":0" : ":") + second
-   temp += (hour >= 12) ? " P.M." : " A.M."
-   return temp
-}
-
-

Pierwsza funkcja JSClock tworzy nowy obiekt Date, który nazywany jest time; nie dający argumentów, czas jest tworzony z aktualną datą i czasem. Następnie metody getHours, getMinutes, i getSeconds przypisują wartości aktualnej godziny, minuty i sekundy do hour, minute, i second.

-

Następne cztery linijki instrukcji budują łańcuch wartości oparty na czasie. Pierwsza instrukcja tworzy zmienne temp, przydzielając jej wartość używanego warunku wyrażenia; jeśli hour jest wyższa niż 12, (godzina - 12), w innym przypadku prosta godzina, chyba że jest godzina 0, która to staje się 12.

-

Następna instrukcja przypisuje wartość minute do temp. Jeśli wartość minute jest mniejsza niż 10, wyrażenie warunkowe dodaje łańcuch z poprzedzającym ją zerem; w innym przypadku dodaje rozgraniczający dwukropek. Następnie instrukcja dołącza sekundy do temp w ten sam sposób.

-

Kończąc, wyrażenie warunkowe dołącza "PM" do temp, jeśli hour posiada wartość 12 lub wyższą; w innym przypadku, to dołącza "AM" do temp.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_function/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_function/index.html" deleted file mode 100644 index eea3fc0664..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_function/index.html" +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Obiekt function -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_function -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_function ---- -

 

-

Obiekt Function

-

Predefiniowany obiekt Function określa łańcuch znaków do skompilowania jako funkcja.

-

Aby utworzyć obiekt Function:

-
nazwaObiektuFunkcji = new Function ([arg1, arg2, ... argn], cialoFunkcji)
-
-

nazwaObiektuFunkcji jest nazwą zmiennej lub własności istniejącego obiektu. Może to być również obiekt, po którym następuje zapisana małymi literami nazwa uchwytu zdarzenia, jak np. window.onerror.

-

arg1, arg2, ... argn są argumentami, które mają być użyte przez funkcję jako formalne nazwy argumentów. Każda z nich musi być łańcuchem znaków spełniającym zasady poprawnego identyfikatora JavaScript; przykładowo "x" lub "theForm".

-

cialoFunkcji jest łańcuchem znaków określającym kod JavaScript, który ma zostać skompilowany jako ciało funkcji.

-

Obiekty Function są przetwarzane przy każdym użyciu. Jest to mniej skutecznie niż deklarowanie funkcji i wywoływanie jej wewnątrz kodu, ponieważ zadeklarowane funkcje są kompilowane.

-

Oprócz definiowania funkcji w sposób opisany tutaj, możesz również użyć instrukcji function i wyrażenia funkcji. Zobacz Dokumentacja języka JavaScript 1.5, aby uzyskać więcej informacji.

-

Poniższy kod przypisuje funkcję do zmiennej ustawKolorTla. Funkcja ta ustawia obecny kolor tła dokumentu.

-
var ustawKolorTla = new Function("document.bgColor='antiquewhite'")
-
-

Aby wywołać obiekt Function, możesz określić nazwę zmiennej tak, jak gdyby była to funkcja. Poniższy kod wykonuje funkcję określoną przez zmienną ustawKolorTla:

-
var wyborKoloru="antiquewhite"
-if (wyborKoloru=="antiquewhite") {ustawKolorTla()}
-
-

Możesz przypisać funkcję do uchwytu zdarzenia w jeden z następujących sposobów:

-
1. document.form1.colorButton.onclick=ustawKolorTla
-2. <INPUT NAME="kolorPrzycisku" TYPE="button"
-      VALUE="Zmień kolor tła"
-      onClick="ustawKolorTla()">
-
-

Tworzenie zmiennej ustawKolorTla pokazane powyżej jest podobne do deklarowania następującej funkcji:

-
function ustawKolorTla() {
-   document.bgColor='antiquewhite'
-}
-
-

Przypisywanie funkcji do zmiennej jest podobne do deklarowania funkcji, są jednak pewne różnice:

- -

Możesz zagnieździć funkcję wewnątrz funkcji. Zagnieżdżona (wewnętrzna) funkcja jest prywatna do zawierającej ją (zewnętrznej) funkcji:

- -
-  
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_math/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_math/index.html" deleted file mode 100644 index 70ffd5ee1c..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_math/index.html" +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Obiekt Math -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Math -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Math ---- -

 

-

Obiekt Math

-

Obiekt predefiniowany Math posiada właściwości i metody dla stałych matematycznych i funkcji. Na przykład: obiekt Math PI pi posiada wartość (3.141...), który będzie używany w aplikacji jako:

-
Math.PI
-
-

Podobnie, standardowe funkcje matematyczne są metodami Math. Włączając trygonometryczne, logarytmiczne, wykładnicze i inne funkcje. Na przykład, jeśli chcesz użyć funkcji trygonometryczej sine, musisz napisać:

-
Math.sin(1.56)
-
-

Wszystkie metody trygonometryczne Math pobierają argumenty w radianach.

-

Następująca tabela podsumowuje metodę Math.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MetodaOpis
absWartość bezwzględna argumentu
sin, cos, tanStandardowe funkcje trygonometryczne; argumenty w radianach
acos, asin, atan, atan2Odwrotne funkcje trygonometryczne; zwracają wartość w radianach
exp, logWykładniczy i naturalny logarytm, podstawą jest e
ceilZwraca najmniejszą liczbę całkowitą większą bądź równą argumentowi
floorZwraca największą liczbę całkowitą mniejszą bądź równą argumentowi
min, maxZwraca większą lub mniejeszą (jedną z podanych) z dwóch argumentów
powWykładniczy; pierwszy argument jest podstawą, drugi jest wykładnikiem
randomZwraca przypadkową liczbę pomiędzy 0 i 1.
roundZwraca argumenty najbliższe liczbie całkowitej
sqrtZwraca pierwiastek kwadratowy argumentu
-

Tabela: Metody Math

-

Wiele innych niepodobnych obiektów, nigdy nie utworzy dla siebie obiektu Math. Zawsze używaj predefiniowanego obiektu Math.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_number/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_number/index.html" deleted file mode 100644 index 053a515787..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_number/index.html" +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: Obiekt Number -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Number -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_Number ---- -

 

-

Obiekt Number

-

Obiekt Number posiada własności dla stałych liczbowych, takie jak wartość maksymalna, not-a-number (nie-liczba) i nieskończoność. Nie możesz zmieniać wartości tych własności. Używa się ich następująco:

-
biggestNum = Number.MAX_VALUE
-smallestNum = Number.MIN_VALUE
-infiniteNum = Number.POSITIVE_INFINITY
-negInfiniteNum = Number.NEGATIVE_INFINITY
-notANum = Number.NaN
-
-

Możesz zawsze odwołać się do własności predefiniowanego obiektu Number w sposób pokazany powyżej, lecz nie jako własności obiektu Number, który sam utworzyłeś.

-

Poniższa tabela podsumowuje własności obiektu Number .

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
WłasnośćOpis
MAX_VALUENajwiększa możliwa do przedstawienia liczba
MIN_VALUENajmniejsza możliwa do przedstawienia liczba
NaNSpecjalna wartość "nieliczbowa"
NEGATIVE_INFINITYSpecjalna wartość nieskończoności; zwracana przy przepełnieniu
POSITIVE_INFINITYSpecjalna wartość ujemnej nieskończoności; zwracana przy przepełnieniu
-

Tabela 7.2: Własności obiektu Number

-

Prototyp Number dostarcza metod używanych w celu uzyskiwania w różnych formatach informacji z obiektów Number. Poniższa tabelka podsumowuje metody Number.prototype.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MetodaOpis
toExponentialZwraca łańcuch znaków reprezentujący liczbę w notacji wykładniczej.
toFixedZwraca łańcuch znaków reprezentujący liczbę w notacji stałoprzecinkowej.
toPrecisionZwraca łańcuch znaków reprezentujący z określoną dokładnością w notacji stałoprzecinkowej.
toSourceZwraca obiekt literałowy reprezentujący określony obiekt Number; możesz użyć tej wartości do stworzenia nowego obiektu. Nadpisuje metodę Object.toSource.
toStringZwraca łańcuch znaków reprezentujący dany obiekt. Nadpisuje metodę Object.toString.
valueOfZwraca pierwotną wartość określonego obiektu. Nadpisuje metodę Object.valueOf.
-

Tabela: Metody Number.prototype {{ PreviousNext("Przewodnik po języku JavaScript 1.5:Obiekty predefiniowane:Obiekt Math", "Przewodnik po języku JavaScript 1.5:Obiekty predefiniowane:Obiekt RegExp") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_regexp/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_regexp/index.html" deleted file mode 100644 index 02e3c1bf75..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_regexp/index.html" +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Obiekt RegExp -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_RegExp -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_RegExp ---- -

 

-

Obiekt RegExp

-

Obiekt RegExp umożliwia działanie na wyrażeniach regularnych. Został on opisany w Rozdziale 4, Wyrażenia regularne. {{ PreviousNext("Przewodnik po języku JavaScript 1.5:Obiekty predefiniowane:Obiekt Number", "Przewodnik po języku JavaScript 1.5:Obiekty predefiniowane:Obiekt String") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_string/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_string/index.html" deleted file mode 100644 index f2c0ed1c5e..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/obiekty_predefiniowane/obiekt_string/index.html" +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Obiekt String -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_String -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Obiekty_predefiniowane/Obiekt_String ---- -

 

-

Obiekt String

-

Obiekt String ma jedną własność, length, która wskazuje liczbę znaków w łańcuchu znaków. Przykładowo, poniższy kod przypisuje zmiennej x wartość 13, ponieważ "Hello, World!" ma 13 znaków:

-
myString = "Hello, World!"
-x = mystring.length
-
-

Obiekt String posiada dwa typy metod: zwracające zmienność samego łańcucha znaków, takie jak substring i toUpperCase oraz te, które zwracają wersję łańcucha sformatowaną jako kod HTML, takie jak bold i link.

-

Na przykład używając poprzedniego przykładu, zarówno mystring.toUpperCase() jak i "hello, world!".toUpperCase() zwrócą łańcuch "HELLO, WORLD!"

-

Metoda substring pobiera dwa argumenty i zwraca podzbiór łańcucha znaków pomiędzy tymi dwoma argumentami. Posługując się powyższym przykładem, mystring.substring(4, 9) zwróci łańcuch "o, Wo". Zobacz metodę substring obiektu String w Dokumentacja języka JavaScript 1.5, aby uzyskać więcej informacji.

-

Obiekt String posiada również wiele metod do automatycznego formatowania kodu HTML, takie jak bold do tworzenia pogrubionego tekstu i link do tworzenia hiperłącz. Przykładowo, możesz utworzyć hiperłącze do hipotetycznego adresu URL przy użyciu metody link w następujący sposób:

-
mystring.link("http://www.helloworld.com")
-
-

Poniższe tabela podsumowuje metody obiektu String.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MetodyOpis
anchorTworzy nazwaną kotwicę HTML.
big, blink, bold, fixed, italics, small, strike, sub, supTworzy w HTML sformatowany łańcuch znaków.
charAt, charCodeAtZwraca znak lub kod znaku znajdującego się na określonej pozycji łańcucha znaków.
indexOf, lastIndexOfZwraca odpowiednio pozycję określonego podciągu w łańcuchu znaków lub ostatnią pozycję określonego podciągu.
linkTworzy odnośnik HTML.
concatŁączy tekst z dwóch łańcuchów i zwraca nowy łańcuch znaków.
fromCharCodeBuduje łańcuch znaków z określonej sekwencji wartości Unicode. Jest metoda klasy String, a nie instancji String.
splitDzieli obiekt String na tablicę łańcuchów poprzez rozdzielenie łańcucha znaków na podciągi.
sliceWycina fragment łańcucha znaków i zwraca nowy łańcuch.
substring, substrZwraca określony podciąg łańcucha znaków, poprzez określenie indeksów początkowych i końcowych lub też określenie indeksu początkowego i długości.
match, replace, searchPracuje z wyrażeniami regularnymi.
toLowerCase, toUpperCaseZwraca łańcuch znaków odpowiednio z wszystkimi małymi lub wszystkimi dużymi znakami.
-

Tabela 7.4: Metody instancji String

-

Literały znakowe nie są obiektami String

-

Obiekt String jest obiektem opakowującym wokół pierwotnego typu danych łańcuchu znaków. Nie myl literału znakowego z obiektem String. Na przykład poniższy kod tworzy literał s1, jak również obiekt String s2:

-
s1 = "foo" //tworzy wartość literału znakowego
-s2 = new String("foo") //tworzy obiekt String
-
-

Możesz wywołać dowolną metodę obiektu String na wartości literału znakowego - JavaScript automatycznie skonwertuje literał znakowy do tymczasowego obiektu String, wywoła metodę, a następnie pozbędzie się tymczasowego obiektu String. Możesz również użyć własności String.length z literałem znakowym. Możesz również użyć własności String.length z literałem znakowym.

-

Powinieneś użyć literału znakowego, chyba że potrzebujesz szczególnie obiektu String, ponieważ obiekty String mogą zachowywać się nieintuicyjnie. Przykładowo:

-
s1 = "2 + 2" //tworzy wartość literału znakowego
-s2 = new String("2 + 2")//tworzy obiekt String
-eval(s1) //zwraca liczbę 4
-eval(s2) //zwraca łańcuch "2 + 2"
-
-

{{ PreviousNext("Przewodnik po języku JavaScript 1.5:Obiekty predefiniowane:Obiekt RegExp", "Przewodnik po języku JavaScript 1.5:Języki oparte na klasach vs. oparte na prototypach") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/operatory/operatory_przypisania/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/operatory/operatory_przypisania/index.html" deleted file mode 100644 index f679d58fd4..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/operatory/operatory_przypisania/index.html" +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Operatory przypisania -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Operatory/Operatory_przypisania -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Operatory/Operatory_przypisania ---- -

 

-

Operatory przypisania

-

Operator przypisania przypisuje wartość do jego lewego argumentu bazującego na wartości z jego prawego argumentu. Zasadnicze znaczenie posiada operator (=), który znaczy 'Przypisanie' i przypisuje wartość prawego argumentu do lewego. Jest to: x = y przypisanie wartości y do x.

-

Inne operatory przypisania są stenografią dla standardowych operacji, jakie widzimy w poniższej tabeli.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skrócony operatorZnaczenie
x += yx = x + y
x -= yx = x - y
x *= yx = x * y
x /= yx = x / y
x %= yx = x % y
x <<= yx = x << y
x >>= yx = x >> y
x >>>= yx = x >>> y
x &= yx = x & y
x ^= yx = x ^ y
x |= yx = x | y
-

Tabela: Operatory 'Przypisanie'

-

{{ PreviousNext("Przewodnik po języku JavaScript 1.5:Operatory", "Przewodnik po języku JavaScript 1.5:Operatory:Operatory porównania") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/podgl\304\205d_klas_liveconnect/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/podgl\304\205d_klas_liveconnect/index.html" deleted file mode 100644 index b325337c1c..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/podgl\304\205d_klas_liveconnect/index.html" +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Podgląd klas LiveConnect -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Podgląd_klas_LiveConnect -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Podgląd_klas_LiveConnect ---- -

-

-

Podgląd klas LiveConnect

-
Praca z klasą opakowującą -
-
Komunikacja między JavaScript a Java -
-
Obiekt opakowujący -
-
-
Praca z tablicami w Javie -
-
-
Referencja paczki i klasy -
-
-
Argumenty typu char -
-
-
Obsługa wyjątków Javy w JavaScript -
-
-
Komunikacja między Java a JavaScript -
-
Używanie klas LiveConnect -
-
-
Konwersja typu danych -
-
Konwersja JavaScript do Java -
-
-
Konwersja Java do JavaScript -
-
-
-
-{{ languages( { "en": "en/Core_JavaScript_1.5_Guide/LiveConnect_Overview", "es": "es/Gu\u00eda_JavaScript_1.5/Concepto_general_de_LiveConnect", "ja": "ja/Core_JavaScript_1.5_Guide/LiveConnect_Overview" } ) }} diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/index.html" deleted file mode 100644 index 0df958c42a..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/index.html" +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Praca z przykładem -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem ---- -

 

-

Przykład obiektu Pracownik

-

Dalsza część tego rozdziału opiera się na hierarchii pracowników przedstawionej na poniższym rysunku.

-

Grafika:hier01.png

-

Rysunek 8.1: Prosta hierarchia obiektu

-

W przykładzie tym zostały użyte następujące obiekty:

- -

Pozostała część przykładu:

- -
-

{{ PreviousNext("Przewodnik_po_języku_JavaScript_1.5:Języki_oparte_na_klasach_vs._oparte_na_prototypach", "Przewodnik_po_języku_JavaScript_1.5:Praca_z_przykładem:Tworzenie_hierarchii") }}

-
-

 

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/tworzenie_hierarchii/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/tworzenie_hierarchii/index.html" deleted file mode 100644 index c019ca8ec5..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/tworzenie_hierarchii/index.html" +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Tworzenie hierarchii -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem/Tworzenie_hierarchii -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem/Tworzenie_hierarchii ---- -

 

-

Tworzenie hierarchii

-

Istnieje kilka sposobów zdefiniowania odpowiednich funkcji konstruktora do zaimplementowania hierarchii Pracownik. To w jaki sposób zdecydujesz się je zdefiniować zależy głównie od tego, co chcesz zrobić w swojej aplikacji.

-

Ten fragment pokazuje jak użyć prostych (i stosunkowo mało elastycznych) definicji w celu zademonstrowania dziedziczenia. W tych definicjach nie możesz określić żadnych wartości własności podczas tworzenia obiektu. Nowo utworzony obiekt po prostu otrzymuje wartości domyślne, które możesz zmienić później. Rysunek 8.2 ilustruje hierarchię wraz z tymi prostymi definicjami.

-

W prawdziwej aplikacji zdefiniowałbyś prawdopodobnie konstruktory, które pozwoliłyby Ci na zapewnienie własnościom wartości w czasie tworzenia obiektu (zobacz więcej elastycznych konstruktorów, aby uzyskać więcej informacji). Na chwilę obecną te proste definicje zademonstrują jak objawia się dziedziczenie.

-

Grafika:hier02.png
- Rysunek 8.2: Definicje obiektu Pracownik

-

Poniższe definicje obiektu Pracownik w Javie i JavaScripcie są podobne. Różnią się one jedynie tym, że w Javie musisz określić typ każdej własności (w przeciwieństwie do JavaScriptu) oraz musisz stworzyć wyraźną metodę konstruktora dla klasy Javy.

-

</tr>

- - - - - - - - - - - -
JavaScriptJava
-
-function Pracownik () {
-this.imie = "";
-this.dept = "ogólny";
-}
-
-
-
-public class Pracownik {
-   public String imie;
-   public String dept;
-   public Pracownik () {
-      this.imie = "";
-      this.dept = "ogólny";
-   }
-}
-
-
-

Definicje Manager i Robotnik pokazuję różnicę w sposobie określania następnego obiektu wyższego w łańcuchu dziedziczenia. W JavaScripcie dodajesz instancję prototypową jako wartość własności prototypu funkcji konstruktora. Możesz do zrobić w dowolnej chwili po zdefiniowaniu konstruktora. W Javie określasz superklasę wewnątrz definicji klasy. Nie możesz zmienić superklasy spoza definicji klasy.

-

</tr>

- - - - - - - - - - - -
JavaScriptJava
-
-function Manager () {
-this.raporty = [];
-}
-Manager.prototype = new Pracownik;
-
-function Robotnik () {
-this.projekty = [];
-}
-Robotnik.prototype = new Pracownik;
-
-
-
-public class Manager extends Pracownik {
-   public Employee[] raporty;
-   public Manager () {
-      this.raporty = new Pracownik[0];
-   }
-}
-
-public class Robotnik extends Pracownik {
-   public String[] projekty;
-   public Robotnik () {
-      this.projekty = new String[0];
-   }
-}
-
-
-

Definicje Inzynier i Sprzedawca tworzą obiekty, które pochodzą od Robotnik a stamtąd od Pracownik. Obiekt tych typów posiada własności wszystkich obiektów znajdujących się ponad nim w łańcuchu. W dodatku definicje te nadpisują dziedziczoną własność dept nowymi wartościami specyficznymi dla tych obiektów.

- - - - - - - - - - - -
JavaScriptJava
-
-function Sprzedawca () {
-   this.dept = "sprzedaż";
-   this.przydzial = 100;
-}
-Sprzedawca.prototype = new Robotnik;
-
-function Inzynier () {
-   this.dept = "inżynieria";
-   this.maszyna = "";
-}
-Inzynier.prototype = new Robotnik;
-
-
-
-public class Sprzedawca extends Robotnik {
-   public double przydzial;
-   public Sprzedawca () {
-      this.dept = "sprzedaż";
-      this.przydzial = 100.0;
-   }
-}
-
-public class Inzynier extends Robotnik {
-   public String maszyna;
-   public Inzynier () {
-      this.dept = "inżynieria";
-      this.maszyna = "";
-   }
-}
-
-
-

Używając tych definicji możesz stworzyć instancje tych obiektów, których własności otrzymują domyślne wartości. Rysunek 8.3 ilustruje zastosowanie tych definicji JavaScriptu do zdefiniowania nowych obiektów i pokazuje wartości własności nowych obiektów.

-

Uwaga: Termin - - instancja - posiada określone techniczne znaczenie w językach opartych na klasach. W językach tych instancja jest pojedynczą składową klasy i jest całkowicie różna od klasy. W JavaScripcie "instancja" nie ma takiego technicznego znaczenia, ponieważ JavaScript nie posiada tej różnicy między klasami a instancjami. Jednak, mówiąc o JavaScripcie, "instancja" może być użyta nieformalnie w znaczeniu obiektu utworzonego za pomocą konkretnej funkcji konstruktora. Dlatego w tym przykładzie mógłbyś nieformalnie stwierdzić, że janina jest instancją Inzynier. Podobnie chociaż terminy - - rodzic, dziecko, przodek - i - - potomek - nie mają formalnego znaczenia w JavaScripcie, możesz użyć ich nieformalnie, aby odnieść się do obiektów znajdujących się wyżej lub niżej w łańcuchu prototypu.

-

Grafika:hier03.png
- Rysunek 8.3: Tworzenie obiektów z prostymi definicjami

-

{{ PreviousNext("Przewodnik_po_języku_JavaScript_1.5:Praca_z_przykładem", "Przewodnik_po_języku_JavaScript_1.5:Praca_z_przykładem:Własności_obiektu") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/dodawanie_w\305\202asno\305\233ci/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/dodawanie_w\305\202asno\305\233ci/index.html" deleted file mode 100644 index c7e869fa77..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/dodawanie_w\305\202asno\305\233ci/index.html" +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Dodawanie własności -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem/Własności_obiektu/Dodawanie_własności -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem/Własności_obiektu/Dodawanie_własności ---- -

 

-

Dodawanie własności

-

W JavaScripcie możesz dodawać własności do dowolnego obiektu w momencie uruchomienia. Nie jesteś zmuszony używać tylko własności dostarczonych przez funkcję konstruktora. Aby dodawać własność, która jest specyficzna dla pewnego obiektu, przypisz wartość do tego obiektu w następujący sposób:

-
mark.bonus = 3000;
-
-

Teraz obiekt mark posiada własność bonus, lecz nie posiadają jej inne obiekty WorkerBee.

-

Jeśli dodasz nową własność do obiektu, który jest używany jako prototyp w funkcji konstruktora, dodajesz tę własność do wszystkich obiektów, które dziedziczą własności tego prototypu. Przykładowo, możesz dodać własność specialty dla wszystkich obiektów employee za pomocą następującej instrukcji:

-
Employee.prototype.specialty = "none";
-
-

Gdy tylko JavaScript wykona tę instrukcję, obiekt mark również będzie posiadał własność specialty wraz z wartością "none". Poniższy rysunek pokazuje efekt dodania tej własności do prototypu Employee oraz następnie nadpisania jej prototypem Engineer.

-

Grafika:hier04.gif
- Rysunek 8.4: Dodawanie własności {{ PreviousNext("Przewodnik po języku JavaScript 1.5:Praca z przykładem:Własności obiektu:Dziedziczenie własności", "Przewodnik po języku JavaScript 1.5:Praca z przykładem:Więcej elastycznych konstruktorów") }}

-
-  
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/dziedziczenie_w\305\202asno\305\233ci/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/dziedziczenie_w\305\202asno\305\233ci/index.html" deleted file mode 100644 index ec980462c8..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/dziedziczenie_w\305\202asno\305\233ci/index.html" +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Dziedziczenie własności -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem/Własności_obiektu/Dziedziczenie_własności -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem/Własności_obiektu/Dziedziczenie_własności ---- -

 

-

Dziedziczenie własności

-

Przypuśćmy, że utworzyłeś obiekt marek jako Robotnik, tak jak pokazano na Rysunku 8.3, za pomocą poniższej instrukcji:

-
marek = new Robotnik;
-
-

Gdy JavaScript napotyka na operator new, tworzy nowy ogólny obiekt i przekazuje go jako wartość słowa kluczowego this funkcji konstruktora Robotnik. Funkcja konstruktora bezpośrednio nadaje wartość własności projekty i bezwzględnie ustala wartość wewnętrznej własności __proto__ jako Robotnik.prototype (ta nazwa własności posiada dwa znaki podkreślenia na początku i dwa na końcu). Własność __proto__ decyduje o łańcuchu prototypu używanym do zwracania wartości własności. Gdy tylko własności te są ustalone, JavaScript zwraca nowy obiekt, a instrukcja przypisania przypisuje zmienną marek do tego obiektu.

-

Proces ten nie umieszcza wartości bezpośrednio w obiekcie marek (wartości - - lokalne - ) dla własności, które marek dziedziczy z łańcucha prototypu. Gdy pytasz o wartość własności, JavaScript najpierw sprawdza czy wartość istnieje w tym obiekcie. Jeśli tak, zwraca tę wartość. Jeśli wartość nie istnieje tam lokalnie, JavaScript sprawdza łańcuch prototypu (używając własności __proto__). Jeśli obiekt w łańcuchu prototypu posiada wartość tej własności, jest ona zwracana. Jeśli własność nie zostanie znaleziona, JavaScript zgłasza, że obiekt nie posiada własności. W tym przypadku obiekt mark posiada następujące własności i wartości:

-
marek.imie = "";
-marek.dept = "ogólny";
-marek.projekty = [];
-
-

Obiekt mark dziedziczy wartości własności imie i dept z obiektu prototypowego w mark.__proto__. Ma on również przypisaną przez konstruktor Robotnik wartość własności projekty. Dzięki temu otrzymujesz dziedziczenie własności i ich wartości w JavaScripcie. Niektóre subtelności tego procesu zostały przedyskutowane w Powrót dziedziczenia własności.

-

Ponieważ konstruktory te nie pozwalają na dostarczenie wartości specyficznych dla instancji, informacje te są ogólne. Wartościami własności są te domyślnie dzielone przez wszystkie nowe obiekty utworzone z Robotnik. Możesz oczywiście zmienić wartości dowolnej z tych własności. Mógłbyś podać określone informacje dla marek tak jak pokazano poniżej:

-
marek.imie = "Doe, Marek";
-marek.dept = "administrator";
-marek.projekty = ["navigator"];
-
-
-

{{ PreviousNext("Przewodnik po języku JavaScript 1.5:Praca z przykładem:Własności obiektu", "Przewodnik po języku JavaScript 1.5:Praca z przykładem:Własności obiektu:Dodawanie własności") }}

-
-

 

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/index.html" deleted file mode 100644 index 96a1870795..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_przyk\305\202adem/w\305\202asno\305\233ci_obiektu/index.html" +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Własności obiektu -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem/Własności_obiektu -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_przykładem/Własności_obiektu ---- -

 

-

Własności obiektu

-

Ten artykuł omawia jak obiekty dziedziczą własności z innych obiektów w łańcuchu prototypu i co się stanie, gdy dodasz własność w momencie uruchomienia.

- -

{{ PreviousNext("Przewodnik po języku JavaScript 1.5:Praca z przykładem:Tworzenie hierarchii", "Przewodnik po języku JavaScript 1.5:Praca z przykładem:Własności obiektu:Dziedziczenie własności") }}

-
-  
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_wyra\305\274eniami_regularnymi/przyk\305\202ady_wyra\305\274e\305\204_regularnych/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_wyra\305\274eniami_regularnymi/przyk\305\202ady_wyra\305\274e\305\204_regularnych/index.html" deleted file mode 100644 index f4575a4108..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_wyra\305\274eniami_regularnymi/przyk\305\202ady_wyra\305\274e\305\204_regularnych/index.html" +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: Przykłady wyrażeń regularnych -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_wyrażeniami_regularnymi/Przykłady_wyrażeń_regularnych -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_wyrażeniami_regularnymi/Przykłady_wyrażeń_regularnych ---- -

 

-

Przykłady

-

Poniższe przykłady prezentują niektóre użycia wyrażeń regularnych.

-

Zmiana kolejności w łańcuchu znaków wejścia

-

Następujący przykład ilustruje tworzenie wyrażeń regularnych i użycie string.split() i string.replace(). Czyści on bezwzględnie wejściowy łańcuch znaków zawierający imiona (pierwsze imię jest pierwsze) oddzielone odstępem, tabulatorem i dokładnie jednym średnikiem. Na koniec odwraca on kolejność imion (ostatnie imię jest pierwsze) i sortuje listę.

-
<script type="text/javascript">
-
-// Łańcuch znaków z imionami zawiera wiele spacji i tabulatorów,
-// może również zawierać wiele spacji pomiędzy pierwszym a ostatnim imieniem.
-var imiona = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ; Chris Hand ";
-
-var output = new Array(
-  "---------- Oryginalny łańcuch znaków<br><br>",
-  imiona + "<br><br>");
-
-// Przygotuj dwa wzorce wyrażeń regularnych i tablicę do przechowywania.
-// Podziel łańcuch na elementy tablicy.
-
-// wzorzec: możliwe białe znaki, następnie średnik, potem znów możliwe białe
-var wzor = /\s*;\s*/;
-
-// Rozbij łańcuch znaków na części oddzielone przez powyższy wzorzec
-// i przechowaj je w tablicy o nazwie listaImion
-var listaImion = imiona.split(wzor);
-
-// Nowy wzorzec: jeden lub więcej znaków, następnie spacje, następnie znów znaki.
-// Użyj nawiasów, by "zapamiętać" porcje wzorca.
-// Zapamiętane porcje przydadzą się później.
-var wzor = /(\w+)\s+(\w+)/;
-
-// Nowa tablica do przechowywania przetwarzanych imion.
-var ListaWgNazwisk = new Array();
-
-// Wyświetl nazwę tablicy i wypełnij nową tablicę
-// imionami oddzielonymi za pomocą przecinka, zaczynając od ostatniego.
-//
-// Metoda "zamien" usuwa wszystko pasujące do wzorca
-// i zamienia to z zapamiętanymi porcjami.
-//
-// Zmienne $1 i $2 odwołują się do zapamiętanych porcji
-// podczas porównywania wzorca.
-
-output.push("---------- Po rozdzieleniu przez wyrażenie regularne<BR>");
-
-var i, len;
-for (i = 0, len = listaImion.length; i < len; i++)
-{
-  output.push(nameList[i] + "<br>");
-  ListaWgNazwisk[i] = listaImion[i].replace(wzor, "$2, $1")
-}
-
-// Wyświetl nową tablicę.
-output.push("---------- Odwrócone imiona<br>");
-for (i = 0, len = ListaWgNazwisk.length; i < len; i++)
-{
-  output.push(ListaWgNazwisk[i] + "<br>")
-}
-
-// Sortuj według ostatniego imienia, następnie wyświetl posortowaną tablicę.
-ListaWgNazwisk.sort();
-output.push("---------- Posortowano<br>");
-for (i = 0, len = ListaWgNazwisk.length; i < len; i++)
-{
-  output.push(ListaWgNazwisk[i] + "<br>")
-}
-
-output.push("---------- Koniec<br>");
-
-document.write(output.join("\n"));
-
-</script>
-
-

Używanie specjalnych znaków do sprawdzenia wejścia

-

W następującym przykładzie, użytkownik wprowadza numer telefonu. Gdy użytkownik naciśnie klawisz Enter, skrypt sprawdzi poprawność numeru. Jeśli numer jest poprawny (pasuje do sekwencji znaków określonej przez wyrażenie regularne), skrypt wywoła okno z podziękowaniem użytkownikowi i zatwierdza numer. Jeśli numer nie jest poprawny, skrypt wywoła okno informacji o nieprawidłowym numerze telefonu.

-

Wyrażenie regularne szuka zera lub jednego nawiasu otwartego \(?, po którym następują trzy cyfry \d{3}, następnie znów zero lub jeden nawias zamknięty \)?, potem jednego myślnika, ukośnika lub znaku dziesiętnego, a gdy je znajdzie zapamiętuje znaki (-\\/\\.), następujące po nich trzy cyfry i ciąg składający się z myślnika, ukośnika lub znaku dziesiętnego \1 i następujących potem czterech cyfr \d{4}.

-

Zdarzenie Change zostaje aktywowane, kiedy użytkownik naciśnie klawisz Enter ustawiając wartość RegExp.input.

-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-  "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
-    <meta http-equiv="Content-Script-Type" content="text/javascript">
-    <script type="text/javascript">
-      var re = /\(?\d{3}\)?([-\/\.])\d{3}\1\d{4}/;
-
-      function testInfo(phoneInput)
-      {
-        var OK = re.exec(phoneInput.value);
-
-        if (!OK)
-        {
-          window.alert(RegExp.input + " nie jest wprowadzony numerem kierunkowy!");
-        }
-        else
-        {
-          window.alert("Dziękuję, Twój numer telefonu to " + OK[0]);
-        }
-      }
-    </script>
-  </head>
-
-  <body>
-    <p>Wprowadź numer telefonu (z numerem kierunkowym), a następnie naciśnij klawisz Enter.</p>
-    <form action="">
-      <input name="phone" onchange="testInfo(this);">
-    </form>
-  </body>
-</html>
-
-
-

{{ PreviousNext("Przewodnik po języku JavaScript 1.5:Praca z wyrażeniami regularnymi:Globalne wyszukiwanie, wielkość znaków, wieloliniowe wejście", "Przewodnik po języku JavaScript 1.5:Blok instrukcji") }}

-
-

 

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_zamkni\304\231ciami/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_zamkni\304\231ciami/index.html" deleted file mode 100644 index f645856505..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/praca_z_zamkni\304\231ciami/index.html" +++ /dev/null @@ -1,288 +0,0 @@ ---- -title: Praca z zamknięciami -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_zamknięciami -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Praca_z_zamknięciami ---- -

Praca z zamknięciami

- -

Zamknięcia są często uważane za zaawansowaną właściwość JavaScript, ale zrozumienie ich jest niezbędne do opanowania tego języka.

- -

Rozważmy następującą funkcję:

- -
function init() {
-  var name = "Mozilla";
-  function displayName() {
-    alert(name);
-  }
-  displayName();
-}
-
- -

Funkcja init() tworzy lokalną zmienną o nazwie name, i następnie definiuje funkcję nazwaną displayName(). displayName() jest wewnętrzną funkcją - jest zdefiniowana wewnątrz funkcji init(), i jest dostępna jedynie w zasięgu ciała tej funkcji. displayName() nie posiada własnych lokalnych zmiennych, ale używa zmiennej name zadeklarowanej w funkcji zewnętrznej.

- -

Działa to całkiem nieźle - spróbujmy wykonać kod, aby zobaczyć co się stanie. To jest przykład leksykalnego zasięgu: w JavaScript, zasięg zmiennej jest zdefiniowany przez jej położenie w kodzie źródłowym, i zagnieżdżone funkcje mają dostęp do zmiennych zadeklarowanych w ich zewnętrznym obszarze.

- -

Teraz rozważmy następny przykład:

- -
function makeFunc() {
-  var name = "Mozilla";
-  function displayName() {
-    alert(name);
-  }
-  return displayName;
-}
-
-var myFunc = makeFunc();
-myFunc();
-
- -

Po wykonaniu kodu otrzymamy identyczny efekt jak poprzedni przykład z funkcją init(): łańcuch "Mozilla" zostanie wyświetlony w oknie alertowym JavaScript. Jaka jest różnica - i co ciekawsze - Czy wewnętrzna funkcja displayName() została zwrócona z zewnętrznej funkcji zanim została wykonana?

- -

Kod działa, lecz może się on wydawać nieintuicyjny. Normalnie, lokalne zmienne wewnątrz funkcji istnieją tylko podczas jej wykonywania. Kiedy makeFunc() została wykonana, spodziewamy się - i ma to sens - że zmienna name nie będzie więcej potrzebna. Skoro kod wykonuje oczekiwaną pracę, oczywiście nie ma mowy o przypadku.

- -

Rozwiązaniem tej zagadki jest fakt, że funkcja myFunc zostaje zamknięciem. Zamknięcie jest specjalnym rodzajem obiektu, który łączy dwie rzeczy: funkcję i środowisko, w którym ta funkcja została utworzona. The environment consists of any local variables that were in-scope at the time that the closure was created. In this case, myFunc is a closure that incorporates both the displayName function and the "Mozilla" string that existed when the closure was created.

- -

Here's a slightly more interesting example - a makeAdder function:

- -
function makeAdder(x) {
-  return function(y) {
-    return x + y;
-  };
-}
-
-var add5 = makeAdder(5);
-var add10 = makeAdder(10);
-
-print(add5(2));  // 7
-print(add10(2)); // 12
-
- -

In this example, we have defined a function makeAdder(x) which takes a single argument x and returns a new function. The function it returns takes a single argument y, and returns the sum of x and y.

- -

In essence, makeAdder is a function factory - it creates functions which can add a specific value to their argument. In the above example we use our function factory to create two new functions - one that adds 5 to its argument, and one that adds 10.

- -

add5 and add10 are both closures. They share the same function body definition, but store different environments. In add5's environment, x is 5. As far as add10 is concerned, x is 10.

- -

Praktyczne zamknięcia

- -

That's the theory out of the way - but are closures actually useful? Let's consider their practical implications. A closure lets you associate some data (the environment) with a function that operates on that data. This has obvious parallels to object oriented programming, where objects allow us to associate some data (the object's properties) with one or more methods.

- -

Consequently, you can use a closure anywhere that you might normally use an object with only a single method.

- -

Situations where you might want to do this are particularly common on the web. Much of the code we write in web JavaScript is event-based - we define some behavior, then attach it to an event that is triggered by the user (such as a click or a keypress). Our code is generally attached as a callback: a single function which is executed in response to the event.

- -

Here's a practical example: suppose we wish to add to a page buttons that adjust the size of the page text. One way of doing this is to specify the font-size of the body element in pixels, then set the size of the other elements on the page (such as headers) using the relative em unit:

- -
body {
-  font-family: Helvetica, Aria, sans-serif;
-  font-size: 12px;
-}
-
-h1 {
-  font-size: 1.5em;
-}
-h2 {
-  font-size: 1.2em;
-}
-
- -

Our interactive text size buttons can change the font-size property of the body element, and the adjustments will be picked up by other elements on the page thanks to the relative units.

- -

Here's the JavaScript:

- -
function makeSizer(size) {
-  return function() {
-    document.body.style.fontSize = size + 'px';
-  };
-}
-
-var size12 = makeSizer(12);
-var size14 = makeSizer(14);
-var size16 = makeSizer(16);
-
- -

size12, size14 and size16 are now functions which will resize the body text to 12, 14, and 16 pixels, respectively. We can attach them to buttons (in this case links) as follows:

- -
function setupButtons() {
-  document.getElementById('size-12').onclick = size12;
-  document.getElementById('size-14').onclick = size14;
-  document.getElementById('size-16').onclick = size16;
-}
- -
<a href="#" id="size-12">12</a>
-<a href="#" id="size-14">14</a>
-<a href="#" id="size-16">16</a>
-
- -

Emulating private methods with closures

- -

Languages such as Java provide the ability to declare methods private, meaning that they can only be called by other methods in the same class.

- -

JavaScript does not provide a native way of doing this, but it is possible to emulate private methods using closures. Private methods aren't just useful for restricting access to code: they also provide a powerful way of managing your global namespace, keeping non-essential methods from cluttering up the public interface to your code.

- -

Here's how to define some public functions that can access private functions and variables, using closures:

- -
var Counter = (function() {
-  var privateCounter = 0;
-  function changeBy(val) {
-    privateCounter += val;
-  }
-  return {
-    increment: function() {
-      changeBy(1);
-    },
-    decrement: function() {
-      changeBy(-1);
-    },
-    value: function() {
-      return privateCounter;
-    }
-  }
-})();
-
-alert(Counter.value()); /* Alerts 0 */
-Counter.increment();
-Counter.increment();
-alert(Counter.value()); /* Alerts 2 */
-Counter.decrement();
-alert(Counter.value()); /* Alerts 1 */
-
- -

There's a lot going on here. In previous examples each closure has had its own environment; here we create a single environment which is shared by three functions: Counter.increment, Counter.decrement and Counter.value.

- -

The shared environment is created in the body of an anonymous function, which is executed as soon as it has been defined. The environment contains two private items: a variable called privateCounter and a function called changeBy. Neither of these private items can be accessed directly from outside the anonymous function. Instead, they must be accessed by the three public functions that are returned from the anonymous wrapper.

- -

Those three public functions are closures that share the same environment. Thanks to JavaScript's lexical scoping, they each have access to the privateCounter variable and changeBy function.

- -

Using closures in this way provides a number of benefits that are normally associated with object oriented programming, in particular data hiding and encapsulation.

- -

Creating closures in loops: A common mistake

- -

Prior to the introduction of the let keyword in JavaScript 1.7, a common problem with closures occurred when they were created inside a loop. Consider the following example:

- -
<p id="help">Helpful notes will appear here</p>
-<p>E-mail: <input type="text" id="email" name="email"></p>
-<p>Name: <input type="text" id="name" name="name"></p>
-<p>Age: <input type="text" id="age" name="age"></p>
-
- -
function showHelp(help) {
-  document.getElementById('help').innerHTML = help;
-}
-
-function setupHelp() {
-  var helpText = [
-      {'id': 'email', 'help': 'Your e-mail address'},
-      {'id': 'name', 'help': 'Your full name'},
-      {'id': 'age', 'help': 'Your age (you must be over 16)'}
-    ];
-
-  for (var i = 0; i < helpText.length; i++) {
-    var item = helpText[i];
-    document.getElementById(item.id).onfocus = function() {
-      showHelp(item.help);
-    }
-  }
-}
-
- -

The helpText array defines three helpful hints, each associated with the ID of an input field in the document. The loop cycles through these definitions, hooking up an onfocus event to each one that shows the associated help method.

- -

If you try this code out, you'll see that it doesn't work as expected. No matter what field you focus on, the message about your age will be displayed.

- -

The reason for this is that the functions assigned to onfocus are closures; they consist of the function definition and the captured environment from the setupHelp function's scope. Three closures have been created, but each one shares the same single environment. By the time the onfocus callbacks are executed, the loop has run its course and the item variable (shared by all three closures) has been left pointing to the last entry in the helpText list.

- -

One solution in this case is to use more closures: in particular, to use a function factory as described earlier on:

- -
function showHelp(help) {
-  document.getElementById('help').innerHTML = help;
-}
-
-function makeHelpCallback(help) {
-  return function() {
-    showHelp(help);
-  };
-}
-
-function setupHelp() {
-  var helpText = [
-      {'id': 'email', 'help': 'Your e-mail address'},
-      {'id': 'name', 'help': 'Your full name'},
-      {'id': 'age', 'help': 'Your age (you must be over 16)'}
-    ];
-
-  for (var i = 0; i < helpText.length; i++) {
-    var item = helpText[i];
-    document.getElementById(item.id).onfocus = makeHelpCallback(item.help);
-  }
-}
-
- -

This works as expected. Rather than the callbacks all sharing a single environment, the makeHelpCallback function creates a new environment for each one in which help refers to the corresponding string from the helpText array.

- -

If you are using JavaScript 1.7 or higher, you can solve this problem by using the let keyword to create a variable that has block level scope:

- -
  for (var i = 0; i < helpText.length; i++) {
-    let item = helpText[i];
-    document.getElementById(item.id).onfocus = function() {
-      showHelp(item.help);
-    }
-  }
-
- -

The let keyword causes the item variable to be created with block level scope, causing a new reference to be created for each iteration of the for loop. This means that a separate variable is captured for each closure, solving the problem caused by the shared environment.

- -

Performance considerations

- -

It is unwise to unnecessarily create functions within other functions if closures are not needed for a particular task as it will negatively affect script performance.

- -

For instance, when creating a new object/class, methods should normally be associated to the object's prototype rather than defined into the object constructor. The reason is that whenever the constructor is called the methods would get reassigned (that is, for every object creation).

- -

Consider the following impractical but demonstrative case:

- -
function MyObject(name, message) {
-  this.name = String(name);
-  this.message = String(message);
-  this.getName = function() {
-    return this.name;
-  };
-
-  this.getMessage = function() {
-    return this.message;
-  };
-}
-
- -

The previous code does not take advantage of the benefits of closures and thus should instead be formulated:

- -
function MyObject(name, message) {
-  this.name = String(name);
-  this.message = String(message);
-}
-MyObject.prototype = {
-  getName: function() {
-    return this.name;
-  },
-  getMessage: function() {
-    return this.message;
-  }
-};
-
- -

Or as follows:

- -
function MyObject(name, message) {
-  this.name = String(name);
-  this.message = String(message);
-}
-MyObject.prototype.getName = function() {
-  return this.name;
-};
-MyObject.prototype.getMessage = function() {
-  return this.message;
-};
-
- -

In the two previous examples, the inherited prototype can be shared by all objects and the method definitions need not occur at every object creation. See Core_JavaScript_1.5_Guide#Details_of_the_Object_Model for more details.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/definiowanie_metod/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/definiowanie_metod/index.html" deleted file mode 100644 index 996ebdd80f..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/definiowanie_metod/index.html" +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Definiowanie metod -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Definiowanie_metod -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Definiowanie_metod ---- -

 

-

Definiowanie metod

-

Funkcja - - method - jest funkcją łączącą z obiektem. Definiujesz metodę w ten sam sposób jak definiujesz standardową funkcje. Użyj następującej składni do połączenia funkcji z istniejącym obiektem:

-
object.methodname = function_name
-
-

gdzie: object jest to istniejący obiekt, methodname jest nazwą przydzielonej metody i function_name jest nazwą funkcji.

-

Możesz nazwać metodę w kontekście obiektu jako następujące:

-
object.methodname(params);
-
-

Możesz definiować metody dla typów obiektu włączając do tego definiowanie metody w funkcji konstruktora obiektowego. Na przykład, możesz zdefiniować funkcję która będzie formatowała i wyświetlała własności poprzednio-definiowanych obiektów car, na przykład:

-
function displayCar() {
-   var result = "A Beautiful " + this.year + " " + this.make
-      + " " + this.model;
-   pretty_print(result);
-}
-
-

gdzie: pretty_print jest funkcją wyświetlającą wg poziomej reguły i łańcuch znaków. Uwaga przy użyciu this odnoszącego się do obiektu, do której metody należą.

-

Tworzymy funkcję metody car, poprzez dodanie instrukcji:

-
this.displayCar = displayCar;
-
-

Do definicji obiektu. Więc, pełna definicja car będzie wyglądała jak

-
function car(make, model, year, owner) {
-   this.make = make;
-   this.model = model;
-   this.year = year;
-   this.owner = owner;
-   this.displayCar = displayCar;
-}
-
-

Teraz możemy nazwać metodę displayCar dla każdego następującego kodu:

-
car1.displayCar()
-car2.displayCar()
-
-

Efektem będzie produkcja wyjściowa następującego przykładu.

-

Grafika:Obja.gif
- Przykład: Wyświetlanie metody po jej wykonaniu

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/definiowanie_w\305\202asno\305\233ci_typu_obiektu/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/definiowanie_w\305\202asno\305\233ci_typu_obiektu/index.html" deleted file mode 100644 index 4ee9e32019..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/definiowanie_w\305\202asno\305\233ci_typu_obiektu/index.html" +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Definiowanie własności typu obiektu -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Definiowanie_własności_typu_obiektu -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Definiowanie_własności_typu_obiektu ---- -

 

-

Definiowanie własności typu obiektu

-

Dodaj własność do poprzednio zdefiniowanego typu obiektu stosując własności prototype. Zdefiniuje te własności, które współdzielą wszystkie obiekty określonego typu, raczej niż tylko jeden przypadek obiektu. Następnie dodajemy kod własności color do wszystkich obiektów typu car i potem przydziela wartość do własności color obiektu car1.

-
Car.prototype.color=null;
-car1.color="black";
-
-

Zobacz własności prototype z funkcji obiektu w dokumentacji języka JavaScript, aby uzyskać dodatkowe informacje.

-
-  
-

 

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/indeksowanie_w\305\202asno\305\233ci_obiektu/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/indeksowanie_w\305\202asno\305\233ci_obiektu/index.html" deleted file mode 100644 index ac597e13ee..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/indeksowanie_w\305\202asno\305\233ci_obiektu/index.html" +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Indeksowanie własności obiektu -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Indeksowanie_własności_obiektu -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Indeksowanie_własności_obiektu ---- -

 

-

Indeksowanie własności obiektu

-

W JavaScripcie 1.0 możesz odwołać się do własności obiektu poprzez nazwę własności lub jej indeks porządkowy. Jednakże w JavaScripcie 1.1 i późniejszych, jeśli zdefiniujesz początkowo własność poprzez jej nazwę, musisz zawsze odwoływać się do niej poprzez nazwę, zaś jeśli zdefiniujesz własność poprzez indeks, musisz zawsze odwoływać się do niej poprzez ten indeks.

-

Dotyczy to sytuacji, gdy tworzysz obiekt i jego własności poprzez funkcję konstruktora, tak jak w powyższym przykładzie obiektu typu Auto oraz gdy definiujesz samodzielnie własności w sposób jawny (na przykład mojeAuto.kolor = "czerwony"). Dlatego jeśli definiujesz początkowo własności obiektu z indeksem, tak jak mojeAuto{{ mediawiki.external(5) }} = "25 mpg", możesz później odwołać się do własności poprzez myCar{{ mediawiki.external(5) }}.

-

Wyjątkiem od tej reguły są obiekty zaczerpnięte z języka HTML, jak na przykład tablica forms. Możesz zawsze odwoływać się do obiektów w tych tablicach zarówno poprzez ich liczbę porządkową (w zależności od tego, w jakiej kolejności pojawiają się w dokumencie) lub poprzez ich nazwę (jeśli jest zdefiniowana). Przykładowo, jeśli drugi znacznik <FORM> w dokumencie posiada atrybut NAME o wartości "mojFormularz", możesz się odwołać do formularza przez document.forms{{ mediawiki.external(1) }} lub document.forms{{ mediawiki.external('\"mojFormularz\"') }} lub też document.mojFormularz. {{ PreviousNext("Przewodnik po języku JavaScript 1.5:Tworzenie nowych obiektów:Zastosowanie konstruktorów funkcji", "Przewodnik po języku JavaScript 1.5:Tworzenie nowych obiektów:Definiowanie własności typu obiektu") }}

-
-  
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/index.html" deleted file mode 100644 index 719cf314b6..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/index.html" +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Tworzenie nowych obiektów -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów ---- -

 

-

Tworzenie nowych obiektów

-

JavaScript ma liczbę obiektów predefiniowanych. W dodatku, możesz tworzyć swoje własne obiekty. W JavaScript 1.2 i późniejszych wersjach, możesz tworzyć obiekt używając inicjatora obiektu. Alternatywą, jest pierwszy tworzony konstruktor funkcji i następna instancja używanego obiektu funkcji i operatora new.

- diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/usuwanie_w\305\202asno\305\233ci/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/usuwanie_w\305\202asno\305\233ci/index.html" deleted file mode 100644 index fd9a21a7bf..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/usuwanie_w\305\202asno\305\233ci/index.html" +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Usuwanie własności -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Usuwanie_własności -tags: - - JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Usuwanie_własności ---- -

 

-

Usuwanie właściwości

-

Możesz usunąć właściwość używając operatora delete Poniższy kod pokazuje jak usunąć właściwość.

-
//Tworzymy nową własność, myobj, z właściwościami a i b.
-myobj = new Object;
-myobj.a=5;
-myobj.b=12;
-
-//Usuwamy właściwość, opuszczając myobj z właściwością tylko b.
-delete myobj.a;
-
-

Możesz także użyć delete do usunięcia globalnych zmiennych jeśli słowo kluczowe var nie było użyte do zadeklarowania zmiennej:

-
g = 17;
-delete g;
-
-

Zobacz delete aby uzyskać więcej informacji.

-
-  
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/u\305\274ywanie_inicjacji_obiektu/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/u\305\274ywanie_inicjacji_obiektu/index.html" deleted file mode 100644 index 37d998fc68..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/u\305\274ywanie_inicjacji_obiektu/index.html" +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Używanie inicjacji obiektu -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Używanie_inicjacji_obiektu -tags: - - JavaScript - - Przewodnik_JavaScript - - Strony_wymagające_dopracowania - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Używanie_inicjacji_obiektu ---- -

Zastosowanie inicjacji obiektu

- -

Uzupełnieniem możliwości tworzenia obiektów poprzez konstruktora funkcji, jest inicjator obiektów. Używanie inicjatora obiektów jest czasami wiązane z tworzeniem obiektów poprzez oznaczanie literowe. "Inicjator obiektu" jest nazwą zaczerpniętą ze standardów języka C++.

- -

Składnia tworząca obiekt, używając inicjatora obiektu jest następująca:

- -
objectName = {własność1:wartość2, własność2:wartość2,..., własnośćN:wartośćN}
-
- -

gdzie objectName jest nazwą obiektu, każda własność jest identyfikatorem (nazwą, liczbą lub ciągiem znaków) a każda wartość jest wyrażeniem, którego wartość jest przypisana do własności. objectName jak i przypisanie są opcjonalne. Jeśli w pozostałej części kodu nie potrzebujesz odwoływać się do tego obiektu, nie musisz go przypisywać do zmiennej.

- -

Jeśli obiekt został utworzony z użyciem inicjatora obiektu w głównym skrypcie, JavaScript interpretuje go za każdym razem, gdy ten przetwarza wyrażenie zawierające literał obiektu. Dodatkowo, inicjator użyty w funkcji, jest tworzony przy każdym jej wywołaniu.

- -

Poniższa instrukcja tworzy obiekt i przypisuje go do zmiennej x, tylko w przypadku, gdy warunek jest prawdziwy.

- -
if (warunek) x = {a:"witaj"}
-
- -

Poniższy przykład tworzy obiekt mojaHonda z trzema własnościami. Należy zwrócić uwagę, iż silnik jest również obiektem z jego własnymi własnościami.

- -
mojaHonda = {kolor:"czerwony", koła:4, silnik:{ilośćCylindrów:4, objętość:2.2}}
-
- -

Inicjatorów możesz użyć również do tworzenia tablic. Zobacz literały tablic.

- -

JavaScript 1.1 i wcześniejsze. Nie możesz używać inicjatorów obiektów. Możesz tworzyć obiekty tylko używając ich konstruktorów lub funkcji udostępnianych przez inne obiekty w tym celu. Zobacz Zastosowanie konstruktorów funkcji.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/zastosowanie_'this'_do_obiektu_referencji/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/zastosowanie_'this'_do_obiektu_referencji/index.html" deleted file mode 100644 index 8f090e4c69..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/zastosowanie_'this'_do_obiektu_referencji/index.html" +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Zastosowanie 'this' do obiektu referencji -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Zastosowanie_'this'_do_obiektu_referencji -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Zastosowanie_'this'_do_obiektu_referencji ---- -

 

-

Zastosowanie this do obiektu referencji

-

JavaScript posiada specjalne słowo kluczowe this, które możemy użyć wewnątrz metody wskazującej nam aktualny obiekt. Na przykład: przypuśćmy, że mamy funkcję nazywającą się validate, która waliduje wartość własności obiektów, nadając im wartość wyższą lub niższą:

-
function validate(obj, lowval, hival) {
-   if ((obj.value < lowval) || (obj.value > hival))
-      alert("Invalid Value!")
-}
-
-

Następnie, możesz nazwać/powiedzieć, że funkcja validate, w każdym elemencie formularza, onChange posiada uchwyt, którego używa do przejścia do określonego elementu formularza, jak w następującym przykładzie:

-
<INPUT TYPE="text" NAME="age" SIZE=3
-   onChange="validate(this, 18, 99)">
-
-

Generalnie, this jest referencją do nazwy obiektu w metodzie.

-

Kiedy połączymy właściwości form, this który potrafi się odwołać do bieżącego obiektu formularza będącego jego 'rodzicem'. W poniższym przykładzie, formularz myForm składa się z obiektu Text oraz przycisku. Kiedy użytkownik kliknie przycisk, wartość obiektu Text jest ustawiana do nazwy formularza. Przyciski wywołują uchwyt zdarzenia onClick poprzez zastosowanie this.form w celu wskazania formularza będącego 'rodzicem', myForm.

-
<FORM NAME="myForm">
-Form name:<INPUT TYPE="text" NAME="text1" VALUE="Beluga">
-<P>
-<INPUT NAME="button1" TYPE="button" VALUE="Show Form Name"
-   onClick="this.form.text1.value=this.form.name">
-</FORM>
-
-
-  
diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/zastosowanie_konstruktor\303\263w_funkcji/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/zastosowanie_konstruktor\303\263w_funkcji/index.html" deleted file mode 100644 index 75843b9ee9..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_nowych_obiekt\303\263w/zastosowanie_konstruktor\303\263w_funkcji/index.html" +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Zastosowanie konstruktorów funkcji -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Zastosowanie_konstruktorów_funkcji -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_nowych_obiektów/Zastosowanie_konstruktorów_funkcji ---- -

 

-

Zastosowaniem konstruktorów funkcji

-

Alternatywnie, możesz utworzyć obiekt w dwóch krokach:

-
    -
  1. Zdefiniować typ obiektu poprzez napisanie konstruktora funkcji.
  2. -
  3. Utworzyć natychmiast nowy obiekt.
  4. -
-

Do zdefiniowania typu obiektu, tworzymy funkcję dla typu obiektu który określa nazwę, właściwości i metody. Na przykład, sądząc, że chcesz utworzyć typ obiektu dla samochodów. Chcesz ten typ obiektu nazwać car i chcesz posiadać właściwości do zrobienia make , model, year i color. Aby to zrobić, powinieneś napisać następującą funkcje:

-
function car(make, model, year) {
-   this.make = make;
-   this.model = model;
-   this.year = year;
-}
-
-

Uwaga, użycie this pozwala wartości własności obiektów opartych na wartościach pasujących do tej funkcji.

-

Teraz możesz utworzyć obiekt nazwany mycar w następującym kodzie:

-
mycar = new car("Eagle", "Talon TSi", 1993);
-
-

Instrukcja ta tworzy mycar i dopuszcza to do określonych wartości. Potem wartość mycar.make jest łańcuchem "Eagle", mycar.year jest liczba całkowita 1993, w ten sposób(?).

-

Utwórz jakis numer obiektu car nazywając new. Na przykład,

-
kenscar = new car("Nissan", "300ZX", 1992);
-vpgscar = new car("Mazda", "Miata", 1990);
-
-

obiekt posiada właściwość która sama w sobie posiada jeszcze jeden obiekt. Na przykład; przypuśćmy, że zdefiniujemy obiekt nazwany następująco person:

-
function person(name, age, sex) {
-   this.name = name
-   this.age = age
-   this.sex = sex
-}
-
-

i potem przypisze nowe obiekty person jako następujące:

-
rand = new person("Rand McKinnon", 33, "M");
-ken = new person("Ken Jones", 39, "M");
-
-

Potem znów zapisz definicję car włączając własne właściwości, które pobierają obiekt person, jak następująco:

-
function car(make, model, year, owner) {
-   this.make = make;
-   this.model = model;
-   this.year = year;
-   this.owner = owner
-}
-
-

Błyskawiczne nowe obiekty, następnie użyjesz:

-
car1 = new car("Eagle", "Talon TSi", 1993, rand);
-car2 = new car("Nissan", "300ZX", 1992, ken);
-
-

Uwaga, która zamiast przechodzić z wartości literału string lub integer kiedy są tworzone nowe obiekty, powyższe instrukcje dzieją się w obiektach rand i ken jako argumenty dla właściciela. Potem jeśli chcesz przekonać się do nazwy właściciela car2 , możesz zaakceptować następujące warunki:

-
car2.owner.name
-
-

Notuj wszystko co możesz zawsze dodać do poprzedniego zdefiniowanego obiektu. Na przykład, instrukcja

-
car1.color = "black"
-
-

dodawaj właściwości color do car1, i przydziel tą wartość "black." Jednakże, to nie wpływa na pozostałe obiekty. Dodaj nową właściwość do wszystkich obiektów tego samego typu, musisz mieć dodaną właściwość do definicji obiektu typu car.

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_wyra\305\274enia_regularnego/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_wyra\305\274enia_regularnego/index.html" deleted file mode 100644 index f521332e6f..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/tworzenie_wyra\305\274enia_regularnego/index.html" +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Tworzenie wyrażenia regularnego -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_wyrażenia_regularnego -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Tworzenie_wyrażenia_regularnego ---- -

 

-

Tworzenie wyrażenia regularnego

-

Wyrażenie regularne możemy skonstruować na jeden z dwóch sposobów:

- -
 re = /ab+c/; 
-
-
-
-
- Literały wyrażeń regularnych są kompilowane w czasie czytania skryptu ( - - script evaluation - ). Gdy wyrażenie regularne nie będzie się zmieniać, sposób ten zapewni lepszą wydajność.
-
-
-
- -
 re = new RegExp("ab+c"); 
-
-
-
-
- Użycie konstruktora powoduje kompilację wyrażenia regularnego w czasie wykonywania ( - - runtime - ). Użyj konstruktora, jeśli wiadomo, że wyrażenie regularne będzie się zmieniało lub, gdy nie będzie znane i zostanie podane z innego źródła, np. przez użytkownika.
-
-
-
-

{{ PreviousNext("Przewodnik po języku JavaScript 1.5:Operatory", "Przewodnik po języku JavaScript 1.5:Zapisywanie wzorca wyrażenia regularnego") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/zapisywanie_wzorca_wyra\305\274enia_regularnego/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/zapisywanie_wzorca_wyra\305\274enia_regularnego/index.html" deleted file mode 100644 index 0caafa3724..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/zapisywanie_wzorca_wyra\305\274enia_regularnego/index.html" +++ /dev/null @@ -1,217 +0,0 @@ ---- -title: Zapisywanie wzorca wyrażenia regularnego -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Zapisywanie_wzorca_wyrażenia_regularnego -tags: - - JavaScript - - Przewodnik_JavaScript - - Strony_wymagające_dopracowania - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Zapisywanie_wzorca_wyrażenia_regularnego ---- -

Zapisywanie wzorca wyrażenia regularnego

- -

Wzorzec wyrażenia regularnego składa się ze znaków prostych takich jak /abc/ lub kombinacji znaków prostych i specjalnych, jak np. /ab*c/ lub /Rozdział (\d+)\.\d*/. Ostatni przykład zawiera nawiasy, które działają jak urządzenie pamięci. Wzorzec w nawiasie użyty w tym porównaniu jest zapamiętywany w celu umożliwienia ponownego użycia, tak jak zostało to opisane w Using Parenthesized Substring Matches.

- -

 

- -

Używanie prostych wzorców

- -

Proste wzorce tworzone są za pomocą znaków, z których ma składać się poszukiwany wynik. Przykładowo wzorzec /abc/ pasuje do kombinacji znaków w łańcuchach znaków tylko wtedy, gdy znaki 'abc' pojawiają się razem i dokładnie w takiej kolejności. Sukcesem zakończy się poszukiwanie tych znaków w łańcuchu "Cześć, znasz literki abc?" i "Najnowszym modelem samolotu jest slabcraft". W obydwu przypadkach występuje podciąg 'abc'. Nie zostaną za to zwrócone żadne wyniki w łańcuchu "abecadło z nieba spadło", ponieważ nie zawiera on podciągu 'abc'.

- -

Używanie znaków specjalnych

- -

When the search for a match requires something more than a direct match, such as finding one or more b's, or finding white space, the pattern includes special characters. For example, the pattern /ab*c/ matches any character combination in which a single 'a' is followed by zero or more 'b's (* means 0 or more occurrences of the preceding item) and then immediately followed by 'c'. In the string "cbbabbbbcdebc," the pattern matches the substring 'abbbbc'.

- -

Poniższa tabela zawiera kompletny wykaz znaków specjalnych wraz z opisem stosowanych w wyrażeniach regularnych.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ZnakZnaczenie
\jedno z poniższych: -
    -
  • przed znakami rozumianymi zazwyczaj dosłownie oznacza, że znak ten jest znakiem specjalnym i nie jest rozumiany dosłownie. Na przykład /b/ oznacza znak 'b'. Umieszczenie przed 'b' ukośnika lewego (backslash ) powoduje, że znak ten oznacza ogranicznik słowa.
  • -
- -
    -
  • przed znakami specjalnymi oznacza, że znak ten nie jest specjalny i jest rozumiany dosłownie. Na przykład * jest znakiem specjalnym, który oznacza 0 lub więcej wystąpień znaku poprzedzającego; np. /a*/ oznacza 0 lub więcej znaków 'a'. Aby uzyskać znak dosłowny *, należy poprzedzić go ukośnikiem lewym; np. /a\*a/ oznacza 'a*a'.
  • -
-
^Pasuje do początku wpisywanego tekstu. Jeśli flaga multiline (wiele linii) jest ustawiona na true, dodatkowo pasuje do każdej nowej linii. -

Np. /^A/ nie da nam w efekcie 'A' w łańcuchu "an A", ale da nam 'A' w łańcuchu "An A"

-
$Pasuje do końca wprowadzanych danych. Jeśli flaga multiline jest ustawiona na true, to pasuje również do każdego zakończenia linii. Np. /t$/ zwróci 't' z "eat", ale nie z "eater"
*Pasuje jeśli poprzedzający znak wystąpił 0 bądź więcej razy. -

Np. /bo*/ zwróci 'boooo' z "A Ghost booooed" oraz 'b' z "A bird warbled", ale nie zwróci nic z łańcucha "A goat grunted".

-
+Pasuje jeśli poprzedzający znak wystąpił 1 lub więcej razy. Równoważne z {1,} Np. /a+/ dopasuje 'a' z łańcucha "candy" oraz wszystkie literki a w "caaaaaaandy".
?Pasuje jeśli poprzedzający znak wystąpił raz lub nie wystąpił wcale. -

Np. /e?le?/ dopasuje 'el' w łańcuchu "angel" oraz 'le' w "angle".

- -

Jeśli ? wystąpi zaraz za *, +, ? lub {}, to znaki te będą zwracały najkrótsze możliwe dopasowania, w przeciwieństwie do zwykłego zachowania, które możemy określić jako zachłanne (zwraca najdłuższe możliwe dopasowania).

- -

Np. /bo*?/ zwróci 'b' z "A Ghost booooed".

- Znak ten używamy też wlookahead assertions , wyjaśnione w komórkach x(?=y) i x(?!y) w tej tabeli.
.(kropka) pasuje do każdego pojedynczego znaku oprócz znaku nowej linii. Np. /.n/ z łańcucha "nay, an apple is on the tree", dopasuje 'an' i 'on', ale nie 'nay'.
(x)Matches 'x' and remembers the match. These are called capturing parentheses. For example, /(foo)/ matches and remembers 'foo' in "foo bar." The matched substring can be recalled from the resulting array's elements 1, ..., n.
(?:x)Matches 'x' but does not remember the match. These are called non-capturing parentheses. The matched substring can not be recalled from the resulting array's elements 1, ..., n.
x(?=y)Matches 'x' only if 'x' is followed by 'y'. For example, /Jack(?=Sprat)/ matches 'Jack' only if it is followed by 'Sprat'. /Jack(?=Sprat|Frost)/ matches 'Jack' only if it is followed by 'Sprat' or 'Frost'. However, neither 'Sprat' nor 'Frost' is part of the match results.
x(?!y)Matches 'x' only if 'x' is not followed by 'y'. For example, /\d+(?!\.)/ matches a number only if it is not followed by a decimal point. The regular expression /\d+(?!\.)/.exec("3.141") matches '141' but not '3.141'.
x|yoznacza 'x' lub 'y'. Na przykład /green|red/ pasuje do 'green' w "green apple" i do 'red' w "red apple."
{n}gdzie n jest liczbą całkowitą dodatnią. Oznacza dokładnie n wystąpień znaku poprzedzającego. Na przykład /a{2}/ nie pasuje do 'a' w "candy,", za to pasuje do wszystkich znaków 'a' w "caandy," i pierwszych dwóch znaków 'a' w "caaandy."
{n,}Where n is a positive integer. Matches at least n occurrences of the preceding character. For example, /a{2,}/ doesn't match the 'a' in "candy", but matches all of the a's in "caandy" and in "caaaaaaandy."
{n,m}Where n and m are positive integers. Matches at least n and at most m occurrences of the preceding character. For example, /a{1,3}/ matches nothing in "cndy", the 'a' in "candy," the first two a's in "caandy," and the first three a's in "caaaaaaandy" Notice that when matching "caaaaaaandy", the match is "aaa", even though the original string had more a's in it.
xyzzestaw znaków. Pasuje do każdego znaku w nawiasie. Można określić zakres znaków za pomocą łącznika. Na przykład abcd oznacza to samo co a-d. Pasują one do 'b' w "brisket" i do 'c' w "ache".
^xyzA negated or complemented character set. That is, it matches anything that is not enclosed in the brackets. You can specify a range of characters by using a hyphen. For example, ^abc is the same as ^a-c. They initially match 'r' in "brisket" and 'h' in "chop."
\\bMatches a backspace. (Not to be confused with \b.)
\bMatches a word boundary, such as a space or a newline character. (Not to be confused with \\b.) For example, /\bn\w/ matches the 'no' in "noonday";/\wy\b/ matches the 'ly' in "possibly yesterday."
\BMatches a non-word boundary. For example, /\w\Bn/ matches 'on' in "noonday", and /y\B\w/ matches 'ye' in "possibly yesterday."
\cXWhere X is a control character. Matches a control character in a string. For example, /\cM/ matches control-M in a string.
\dMatches a digit character. Equivalent to 0-9. For example, /\d/ or /0-9/ matches '2' in "B2 is the suite number."
\DMatches any non-digit character. Equivalent to ^0-9. For example, /\D/ or /^0-9/ matches 'B' in "B2 is the suite number."
\fMatches a form-feed.
\nMatches a linefeed.
\rMatches a carriage return.
\sMatches a single white space character, including space, tab, form feed, line feed. Equivalent to -

\\f\\n\\r\\t\\v\\u00A0\\u2028\\u2029.

- For example, /\s\w*/ matches ' bar' in "foo bar."
\SMatches a single character other than white space. Equivalent to -

^ \\f\\n\\r\\t\\v\\u00A0\\u2028\\u2029.

- For example, /\S\w*/ matches 'foo' in "foo bar."
\tMatches a tab.
\vMatches a vertical tab.
\wMatches any alphanumeric character including the underscore. Equivalent to A-Za-z0-9_. For example, /\w/ matches 'a' in "apple," '5' in "$5.28," and '3' in "3D."
\WMatches any non-word character. Equivalent to ^A-Za-z0-9_. For example, /\W/ or /^A-Za-z0-9_/ matches '%' in "50%."
\nWhere n is a positive integer. A back reference to the last substring matching the n parenthetical in the regular expression (counting left parentheses). For example, /apple(,)\sorange\1/ matches 'apple, orange,' in "apple, orange, cherry, peach."
\0Matches a NUL character. Do not follow this with another digit.
\xhhMatches the character with the code hh (two hexadecimal digits)
\uhhhhMatches the character with the code hhhh (four hexadecimal digits).
- -

Tabela 4.1: Znaki specjalne w wyrażeniach regularnych.

- -

Używanie nawiasów

- -

Parentheses around any part of the regular expression pattern cause that part of the matched substring to be remembered. Once remembered, the substring can be recalled for other use, as described in Using Parenthesized Substring Matches.

- -

For example, the pattern /Chapter (\d+)\.\d*/ illustrates additional escaped and special characters and indicates that part of the pattern should be remembered. It matches precisely the characters 'Chapter ' followed by one or more numeric characters (\d means any numeric character and + means 1 or more times), followed by a decimal point (which in itself is a special character; preceding the decimal point with \ means the pattern must look for the literal character '.'), followed by any numeric character 0 or more times (\d means numeric character, * means 0 or more times). In addition, parentheses are used to remember the first matched numeric characters.

- -

This pattern is found in "Open Chapter 4.3, paragraph 6" and '4' is remembered. The pattern is not found in "Chapter 3 and 4", because that string does not have a period after the '3'.

- -

To match a substring without causing the matched part to be remembered, within the parentheses preface the pattern with ?:. For example, (?:\d+) matches one or more numeric characters but does not remember the matched characters.

- -


- {{ PreviousNext("Przewodnik_po_języku_JavaScript_1.5:Tworzenie_wyrażenia_regularnego", "Przewodnik_po_języku_JavaScript_1.5:Praca_z_wyrażeniami_regularnymi") }}

diff --git "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/zastosowanie_obiektu_arguments/index.html" "b/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/zastosowanie_obiektu_arguments/index.html" deleted file mode 100644 index 0eedd684db..0000000000 --- "a/files/pl/orphaned/web/javascript/guide/obsolete_pages/przewodnik_po_j\304\231zyku_javascript_1.5/zastosowanie_obiektu_arguments/index.html" +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Zastosowanie obiektu arguments -slug: >- - orphaned/Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Zastosowanie_obiektu_arguments -tags: - - JavaScript - - Przewodnik_JavaScript - - Wszystkie_kategorie -original_slug: >- - Web/JavaScript/Guide/Obsolete_Pages/Przewodnik_po_języku_JavaScript_1.5/Zastosowanie_obiektu_arguments ---- -

 

-

Zastosowanie obiektu arguments

-

Argumenty funkcji będą je utrzymywać je w tablicy. Wewnątrz funkcji, możemy zaadresować lub przydzielić argumenty w następujący sposób:

-
arguments[i]
-
-

gdzie: i jest kolejną liczbą porządkową znajdującą się wewnątrz funkcji, pierwszym argumentem zawsze jest 0 (zero). Więc, pierwszy argument funkcji to arguments{{ mediawiki.external(0) }}. Łączna liczba argumentów jest podana w arguments.length.

-

Używając argumentów tablicy (arguments) możesz nazwać większość funkcji wraz ze swoimi argumentami niż formalna deklaracja akceptującą. Często jeśli nie wiesz jak wiele będzie potrzebnych argumentów funkcji. Używaj arguments.length do określenie aktualnie argumentów do funkcji, potrzebnych do opisania każdego argumentu w tablicy arguments.

-

Na przykład, stanowią one funkcje, które powiążą kilka łańcuchów danych. Tylko oficjalny argument dla funkcji jest łańcuch, którego specyficzne znaki separacji powiążą odpowiednie elementy. Funkcja jest definiowana następująco:

-
function myConcat(separator) {
-   var result="" // initialize list
-   // iterate through arguments
-   for (var i=1; i<arguments.length; i++) {
-      result += arguments[i] + separator
-   }
-   return result
-}
-
-

Możemy podawać jakiekolwiek liczby argumentów funkcji, i to zostanie utworzona lista używająca każdej pozycji zawartej na liście.

-
// zwraca "red, orange, blue, "
-myConcat(", ","red","orange","blue")
-
-// zwraca "elephant; giraffe; lion; cheetah; "
-myConcat("; ","elephant","giraffe","lion", "cheetah")
-
-// zwraca "sage. basil. oregano. pepper. parsley. "
-myConcat(". ","sage","basil","oregano", "pepper", "parsley")
-
-

Zobacz: Funkcja obiektu w dokumentacji języka JavaScript, aby uzyskać więcej informacji.

-

JavaScript 1.3 i wersje wcześniejsze
- Argument tablicy jest właściwością obiektu Function i może on być umieszczony przed nazwą funkcji, tak jak poniżej:

-

functionName.arguments(i)

-

 

diff --git "a/files/pl/orphaned/web/javascript/na_pocz\304\205tek/index.html" "b/files/pl/orphaned/web/javascript/na_pocz\304\205tek/index.html" deleted file mode 100644 index 58486cbea7..0000000000 --- "a/files/pl/orphaned/web/javascript/na_pocz\304\205tek/index.html" +++ /dev/null @@ -1,904 +0,0 @@ ---- -title: Na początek -slug: orphaned/Web/JavaScript/Na_początek -tags: - - JavaScript - - Strony_wymagające_dopracowania - - Wszystkie_kategorie -original_slug: Web/JavaScript/Na_początek ---- -
UWAGA, UWAGA!: Pomimo tego, że artykuł jest wywieszony jako artykuł do dopracowania, to mimo to, PROSZĘ go na razie NIE TŁUMACZYĆ. Powodem jest to, że tekst w sporej mierze jest już przetłumaczony. Więc po prostu szkoda zapału i zużywania energii na coś co już jest w wersji PL. W ramach tego samego czasu możecie przetłumaczyć coś, czego nie ma na 100% w dopracowanych. Ptak82 17:18, 13 mar 2007 (PDT)
- -

Wprowadzenie

- -

Dlaczego ponowne wprowadzenie? Bo JavaScript można śmiało określić jako najbardziej błędnie rozumiany język programowania (en). Często wyszydzany, nazywany zabawką, pod swoją kuszącą prostotą chowa on szerokie możliwości. W roku 2005 pojawił się szereg wysokiej jakości aplikacji w JavaScripcie, dowodzących, że pogłębiona znajomość tej technologii to to, czym powinien móc się pochwalić każdy twórca serwisów internetowych.

- -

Wygodnie będzie zacząć od kilku słów na temat historii języka. JavaScript stowrzył w roku 1995 Brendan Eich, programista firmy Netscape. Pierwszą przeglądarką z obsługą JavaScriptu była Netscape 2, wydana na początku 1996 r. Pierwotnie język ten miał się nazywać LiveScript, ale nazwę nieszczęśliwie zmieniono z przyczyn marketingowych - chciano skorzystać z popularności Javy, języka firmy Sun Microsystems, mimo że oba te języki niewiele ze sobą łączy. Nazwa "JavaScript" do dziś jest przyczyną wielu nieporozumień.

- -

Microsoft wydał prawie kompatybilną wersję tego języka pod nazwą JScript razem z przeglądarką Internet Explorer 3 kilka miesięcy później. Firma Netscape zgłosiła język do europejskiej organizacji standaryzacyjnej Ecma International, skutkiem czego było pierwsze wydanie standardu ECMAScript w roku 1997. Specyfikację tę szeroko uzupełniono i rozbudowano w roku 1999 i opublikowano jako ECMAScript wydanie 3 i od tej pory język ten był w miarę stabilny, nie przechodził większych rewolucji, choć obecnie trwają prace nad wydaniem czwartym.

- -

Stabilność ta to dobra wiadomość dla programistów, jako że wszystkie implementacje miały wiele czasu, by w pełni dojść do w miarę zgodnego stanu. W tym artykule skupiam się wyłącznie na dialekcie z wydania trzeciego. Dla uproszczenia pozostanę w tym artykule przy terminie "JavaScript".

- -

W przeciwieństwie do większości języków, JavaScript nie posiada koncepcji wejścia/wyjścia. Zaprojektowany został jako język skryptowy dla maszyny wirtualnej i to ta maszyna wirtualna ma za zadanie zapewnić mechanizmy komunikacji ze światem zewnętrznym. Najbardziej popularną maszyną wirtualną jest przeglądarka, ale interpretery JavaScriptu można znaleźć np. w programach Adobe Acrobat, Photoshop, silniku Yahoo! Widget i innych.

- -

Przegląd

- -

Zacznijmy od fundamentów każdego języka programowania: typów danych. Programy w JavaScripcie manipulują wartościami, z których każda należy do konkretnego typu. Typy w JavaScripcie to:

- - - -

a także Undefined (wartość niezdefiniowana) i Null, które można uważać za nieco dziwne. Ponadto mamy do dyspozycji tablice - Array - które są szczególnym rodzajem obiektu. Oprócz tego daty - Date i wyrażenia regularne, które także są obiektami. Gwoli ścisłości, funkcje także są szczególnymi obiektami.

- -

Diagram typów wygląda zatem następująco:

- - - -

Istnieją także podtypy typu Error, ale pomińmy je, żeby za bardzo nie mieszać i pozostańmy przy pierwszym diagramie.

- -

Liczby

- -

Zgodnie ze specyfikacją, liczby w JavaScripcie są "64-bitowymi wartościami podwójnej precyzji w formacie IEEE 754". Ma to ciekawe skutki. Na przykład, w JavaScripcie nie ma czegoś takiego jak liczba całkowita, dlatego trzeba zachować nieco ostrożności przy operacjach arytmetycznych, zwłaszcza jeśli przyzwyczajeni jesteśmy do C lub Javy. Należy uważać na takie sytuacje:

- -
0.1 + 0.2 = 0.30000000000000004
-
- -

Dostępne są standardowe operatory arytmetyczne, w tym oczywiście dodawanie, odejmowanie, modulo (reszta z dzielenia) itd. Jest także specjalny obiekt Math pozwalający na stosowanie bardziej zaawansowanych funkcji i stałych matematycznych:

- -
Math.sin(3.5);
-d = Math.PI * r * r;
-
- -

Ciąg znaków można skonwertować do liczby korzystając z wbudowanej funkcji parseInt(). Funkcja ta może posiadać dodatkowy, drugi argument, który określa podstawę systemu dla tej konwersji. Ten argument warto jednak zawsze podawać:

- -
> parseInt("123", 10)
-123
-> parseInt("010", 10)
-10
-
- -

...żeby nie dostać nieoczekiwanych wyników:

- -
> parseInt("010")
-8
-
- -

Taki wynik otrzymaliśmy dlatego, że funkcja parseInt uznała liczbę w naszym ciągu znaków za ósemkową, bo rozpoczęliśmy ją od znaku "0".

- -

Jeśli chcesz skonwertować liczbę binarną do dziesiętnej, wystarczy zmienić podstawę:

- -
> parseInt("11", 2)
-3
-
- -

Funkcja zwraca specjalną wartość NaN (skrót ang. "Not a Number" - "To nie jest liczba"), jeśli dany ciąg znaków nie jest liczbą:

- -
> parseInt("witaj", 10)
-NaN
-
- -

NaN jest toksyczna: wprowadzenie jej do jakiejkolwiek operacji matematycznej spowoduje, że jej wynikiem również będzie NaN:

- -
> NaN + 5
-NaN
-
- -

Aby sprawdzić, czy dana wartość jest NaN, można użyć wbudowanej funkcji isNaN():

- -
> isNaN(NaN)
-true
-
- -

(NaN nie jest bowiem równe nawet samo sobie, NaN!=NaN - przyp. tłum.)

- -

W JavaScripcie istnieją także specjalne wartości reprezentujące plus i minus nieskończoność: Infinity and -Infinity:

- -
> 1 / 0
-Infinity
-> -1 / 0
--Infinity
-
- -

Ciągi znaków

- -

Teksty w JavaScripcie to sekwencje znaków. Dokładniej rzecz biorąc, są to sekwencje znaków Unicode, w których każdy znak reprezentowany jest przez liczbę 16-bitową. To dobra wiadomość dla wszystkich osób zajmujących się internacjonalizacją.

- -

Jeśli zajdzie potrzeba reprezentowania pojedynczego znaku, stosuje się po prostu ciąg o długości równej 1.

- -

Aby odnaleźć długość ciągu, należy skorzystać z jego własności length:

- -
> "witaj".length
-5
-
- -

To nasze pierwsze spotkanie z obiektami JavaScriptu! Czy wspomniałem, że ciągi są też obiektami? Naturalnie, mają też metody:

- -
> "witaj".charAt(0)
-w
-> "witaj, świecie".replace("witaj", "do zobaczenia")
-do zobaczenia, świecie
-> "witaj".toUpperCase()
-WITAJ
-
- -

Other types

- -

JavaScript distinguishes between null, which is an object of type 'object' that indicates a deliberate non-value, and undefined, which is an object of type 'undefined' that indicates an uninitialized value — that is, a value hasn't even been assigned yet. We'll talk about variables later, but in JavaScript it is possible to declare a variable without assigning a value to it. If you do this, the variable's type is undefined.

- -

JavaScript has a boolean type, with possible values true and false (both of which are keywords). Any value can be converted to a boolean according to the following rules:

- -
    -
  1. false, 0, the empty string (""), NaN, null, and undefined all become false
  2. -
  3. all other values become true
  4. -
- -

You can perform this conversion explicitly using the Boolean() function:

- -
> Boolean("")
-false
-> Boolean(234)
-true
-
- -

However, this is rarely necessary, as JavaScript will silently perform this conversion when it expects a boolean, such as in an if statement (see below). For this reason, we sometimes speak simply of "true values" and "false values," meaning values that become true and false, respectively, when converted to booleans. Alternatively, such values can be called "truthy" and "falsy," respectively.

- -

Boolean operations such as && (logicaland), || (logicalor), and ! (logicalnot) are supported; see below.

- -

Variables

- -

New variables in JavaScript are declared using the var keyword:

- -
var a;
-var name = "simon";
-
- -

If you declare a variable without assigning any value to it, its type is undefined. should note the absence of block-scoping in JS

- -

Operators

- -

JavaScript's numeric operators are +, -, *, / and % - which is the remainder operator. Values are assigned using =, and there are also compound assignment statements such as += and -=. These extend out to x = xoperator y.

- -
x += 5
-x = x + 5
-
- -

You can use ++ and -- to increment and decrement respectively. These can be used as prefix or postfix operators.

- -

The + operator also does string concatenation:

- -
> "hello" + " world"
-hello world
-
- -

If you add a string to a number (or other value) everything is converted in to a string first. This might catch you out:

- -
> "3" + 4 + 5
-345
-> 3 + 4 + "5"
-75
-
- -

Adding an empty string to something is a useful way of converting it.

- -

Comparisons in JavaScript can be made using <, >, <= and >=. These work for both strings and numbers. Equality is a little less straightforward. The double-equals operator performs type coercion if you give it different types, with sometimes interesting results:

- -
> "dog" == "dog"
-true
-> 1 == true
-true
-
- -

To avoid type coercion, use the triple-equals operator:

- -
> 1 === true
-false
-> true === true
-true
-
- -

There are also != and !== operators.

- -

JavaScript also has bitwise operations. If you want to use them, they're there.

- -

Control structures

- -

JavaScript has a similar set of control structures to other languages in the C family. Conditional statements are supported by if and else; you can chain them together if you like:

- -
var name = "kittens";
-if (name == "puppies") {
-  name += "!";
-} else if (name == "kittens") {
-  name += "!!";
-} else {
-  name = "!" + name;
-}
-name == "kittens!!"
-
- -

JavaScript has while loops and do-while loops. The first is good for basic looping; the second for loops where you wish to ensure that the body of the loop is executed at least once:

- -
while (true) {
-  // an infinite loop!
-}
-
-do {
-  var input = get_input();
-} while (inputIsNotValid(input))
-
- -

JavaScript's for loop is the same as that in C and Java: it lets you provide the control information for your loop on a single line.

- -
for (var i = 0; i < 5; i++) {
-  // Will execute 5 times
-}
-
- -

The && and || operators use short-circuit logic, which means whether they will execute their second operand is dependent on the first. This is useful for checking for null objects before accessing their attributes:

- -
var name = o && o.getName();
-
- -

Or for setting default values:

- -
var name = otherName || "default";
-
- -

JavaScript has a tertiary operator for one-line conditional statements:

- -
var allowed = (age > 18) ? "yes" : "no";
-
- -

The switch statement can be used for multiple branches based on a number or string:

- -
switch(action) {
-    case 'draw':
-        drawit();
-        break;
-    case 'eat':
-        eatit();
-        break;
-    default:
-        donothing();
-}
-
- -

If you don't add a break statement, execution will "fall through" to the next level. This is very rarely what you want - in fact it's worth specifically labelling deliberate fallthrough with a comment if you really meant it to aid debugging:

- -
switch(a) {
-    case 1: // fallthrough
-    case 2:
-        eatit();
-        break;
-    default:
-        donothing();
-}
-
- -

The default clause is optional. You can have expressions in both the switch part and the cases if you like; comparisons take place between the two using the === operator:

- -
switch(1 + 3):
-    case 2 + 2:
-        yay();
-        break;
-    default:
-        neverhappens();
-}
-
- -

Objects

- -

JavaScript objects are simply collections of name-value pairs. As such, they are similar to:

- - - -

The fact that this data structure is so widely used is a testament to its versatility. Since everything (bar core types) in JavaScript is an object, any JavaScript program naturally involves a great deal of hash table lookups. It's a good thing they're so fast!

- -

The "name" part is a JavaScript string, while the value can be any JavaScript value - including more objects. This allows you to build data structures of arbitrary complexity.

- -

There are two basic ways to create an empty object:

- -
var obj = new Object();
-
- -

And:

- -
var obj = {};
-
- -

These are semantically equivalent; the second is called object literal syntax, and is more convenient. Object literal syntax was not present in very early versions of the language which is why you see so much code using the old method.

- -

Once created, an object's properties can again be accessed in one of two ways:

- -
obj.name = "Simon"
-var name = obj.name;
-
- -

And...

- -
obj["name"] = "Simon";
-var name = obj["name"];
-
- -

These are also semantically equivalent. The second method has the advantage that the name of the property is provided as a string, which means it can be calculated at run-time. It can also be used to set and get properties with names that are reserved words:

- -
obj.for = "Simon"; // Syntax error, because 'for' is a reserved word
-obj["for"] = "Simon"; // works fine
-
- -

Object literal syntax can be used to initialise an object in its entirety:

- -
var obj = {
-    name: "Carrot",
-    "for": "Max",
-    details: {
-        color: "orange",
-        size: 12
-    }
-}
-
- -

Attribute access can be chained together:

- -
> obj.details.color
-orange
-> obj["details"]["size"]
-12
-
- -

Arrays

- -

Arrays in JavaScript are actually a special type of object. They work very much like regular objects (numerical properties can naturally be accessed only using [] syntax) but they have one magic property called 'length'. This is always one more than the highest index in the array.

- -

The old way of creating arrays is as follows:

- -
> var a = new Array();
-> a[0] = "dog";
-> a[1] = "cat";
-> a[2] = "hen";
-> a.length
-3
-
- -

A more convenient notation is to use an array literal:

- -
> var a = ["dog", "cat", "hen"];
-> a.length
-3
-
- -

Leaving a trailing comma at the end of an array literal is inconsistent across browsers, so don't do it.

- -

Note that array.length isn't necessarily the number of items in the array. Consider the following:

- -
> var a = ["dog", "cat", "hen"];
-> a[100] = "fox";
-> a.length
-101
-
- -

Remember - the length of the array is one more than the highest index.

- -

If you query a non-existent array index, you get undefined:

- -
> typeof(a[90])
-undefined
-
- -

If you take the above into account, you can iterate over an array using the following:

- -
for (var i = 0; i < a.length; i++) {
-    // Do something with a[i]
-}
-
- -

This is slightly inefficient as you are looking up the length property once every loop. An improvement is this:

- -
for (var i = 0, len = a.length; i < len; i++) {
-    // Do something with a[i]
-}
-
- -

An even nicer idiom is:

- -
for (var i = 0, item; item = a[i]; i++) {
-    // Do something with item
-}
-
- -

Here we are setting up two variables. The assignment in the middle part of the for loop is also tested for truthfulness - if it succeeds, the loop continues. Since i is incremented each time, items from the array will be assigned to item in sequential order. The loop stops when a "falsy" item is found (such as undefined).

- -

Note that this trick should only be used for arrays which you know do not contain "falsy" values (arrays of objects or DOM nodes for example). If you are iterating over numeric data that might include a 0 or string data that might include the empty string you should use the i, j idiom instead.

- -

Another way to iterate is to use the for...in loop. Note that if someone added new properties to Array.prototype, they will also be iterated over by this loop:

- -
for (var i in a) {
-  // Do something with a[i]
-}
-
- -

If you want to append an item to an array, the safest way to do it is like this:

- -
a[a.length] = item;                 // same as a.push(item);
-
- -

Since a.length is one more than the highest index, you can be assured that you are assigning to an empty position at the end of the array.

- -

Arrays come with a number of methods:

- -
a.toString(), a.toLocaleString(), a.concat(item, ..), a.join(sep),
-a.pop(), a.push(item, ..), a.reverse(), a.shift(), a.slice(start, end),
-a.sort(cmpfn), a.splice(start, delcount, [item]..), a.unshift([item]..)
-
- - - -

Functions

- -

Along with objects, functions are the core component in understanding JavaScript. The most basic function couldn't be much simpler:

- -
function add(x, y) {
-    var total = x + y;
-    return total;
-}
-
- -

This demonstrates everything there is to know about basic functions. A JavaScript function can take 0 or more named parameters. The function body can contain as many statements as you like, and can declare its own variables which are local to that function. The return statement can be used to return a value at any time, terminating the function. If no return statement is used (or an empty return with no value), JavaScript returns undefined.

- -

The named parameters turn out to be more like guidelines than anything else. You can call a function without passing the parameters it expects, in which case they will be set to undefined.

- -
> add()
-NaN // You can't perform addition on undefined
-
- -

You can also pass in more arguments than the function is expecting:

- -
> add(2, 3, 4)
-5 // added the first two; 4 was ignored
-
- -

That may seem a little silly, but functions have access to an additional variable inside their body called arguments, which is an array-like object holding all of the values passed to the function. Let's re-write the add function to take as many values as we want:

- -
function add() {
-    var sum = 0;
-    for (var i = 0, j = arguments.length; i < j; i++) {
-        sum += arguments[i];
-    }
-    return sum;
-}
-
-> add(2, 3, 4, 5)
-14
-
- -

That's really not any more useful than writing 2 + 3 + 4 + 5 though. Let's create an averaging function:

- -
function avg() {
-    var sum = 0;
-    for (var i = 0, j = arguments.length; i < j; i++) {
-        sum += arguments[i];
-    }
-    return sum / arguments.length;
-}
-> avg(2, 3, 4, 5)
-3.5
-
- -

This is pretty useful, but introduces a new problem. The avg() function takes a comma separated list of arguments - but what if you want to find the average of an array? You could just rewrite the function as follows:

- -
function avgArray(arr) {
-    var sum = 0;
-    for (var i = 0, j = arr.length; i < j; i++) {
-        sum += arr[i];
-    }
-    return sum / arr.length;
-}
-> avgArray([2, 3, 4, 5])
-3.5
-
- -

But it would be nice to be able to reuse the function that we've already created. Luckily, JavaScript lets you call a function and call it with an arbitrary array of arguments, using the apply() method of any function object.

- -
> avg.apply(null, [2, 3, 4, 5])
-3.5
-
- -

The second argument to apply() is the array to use as arguments; the first will be discussed later on. This emphasizes the fact that functions are objects too.

- -

JavaScript lets you create anonymous functions.

- -
var avg = function() {
-    var sum = 0;
-    for (var i = 0, j = arguments.length; i < j; i++) {
-        sum += arguments[i];
-    }
-    return sum / arguments.length;
-}
-
- -

This is semantically equivalent to the function avg() form. It's extremely powerful, as it lets you put a full function definition anywhere that you would normally put an expression. This enables all sorts of clever tricks. Here's a way of "hiding" some local variables - like block scope in C:

- -
> var a = 1;
-> var b = 2;
-> (function() {
-    var b = 3;
-    a += b;
-})();
-> a
-4
-> b
-2
-
- -

JavaScript allows you to call functions recursively. This is particularly useful for dealing with tree structures, such as you get in the browser DOM.

- -
function countChars(elm) {
-    if (elm.nodeType == 3) { // TEXT_NODE
-        return elm.nodeValue.length;
-    }
-    var count = 0;
-    for (var i = 0, child; child = elm.childNodes[i]; i++) {
-        count += countChars(child);
-    }
-    return count;
-}
-
- -

This highlights a potential problem with anonymous functions: how do you call them recursively if they don't have a name? The answer lies with the arguments object, which in addition to acting as a list of arguments also provides a property called arguments.callee. This always refers to the current function, and hence can be used to make recursive calls:

- -
var charsInBody = (function(elm) {
-    if (elm.nodeType == 3) { // TEXT_NODE
-        return elm.nodeValue.length;
-    }
-    var count = 0;
-    for (var i = 0, child; child = elm.childNodes[i]; i++) {
-        count += arguments.callee(child);
-    }
-    return count;
-})(document.body);
-
- -

Since arguments.callee is the current function, and all functions are objects, you can use arguments.callee to save information across multiple calls to the same function. Here's a function that remembers how many times it has been called:

- -
function counter() {
-    if (!arguments.callee.count) {
-        arguments.callee.count = 0;
-    }
-    return arguments.callee.count++;
-}
-
-> counter()
-0
-> counter()
-1
-> counter()
-2
-
- -

Custom objects

- -

In classic Object Oriented Programming, objects are collections of data and methods that operate on that data. Let's consider a person object with first and last name fields. There are two ways in which their name might be displayed: as "first last" or as "last, first". Using the functions and objects that we've discussed previously, here's one way of doing it:

- -
function makePerson(first, last) {
-    return {
-        first: first,
-        last: last
-    }
-}
-function personFullName(person) {
-    return person.first + ' ' + person.last;
-}
-function personFullNameReversed(person) {
-    return person.last + ', ' + person.first
-}
-> s = makePerson("Simon", "Willison");
-> personFullName(s)
-Simon Willison
-> personFullNameReversed(s)
-Willison, Simon
-
- -

This works, but it's pretty ugly. You end up with dozens of functions in your global namespace. What we really need is a way to attach a function to an object. Since functions are objects, this is easy:

- -
function makePerson(first, last) {
-    return {
-        first: first,
-        last: last,
-        fullName: function() {
-            return this.first + ' ' + this.last;
-        },
-        fullNameReversed: function() {
-            return this.last + ', ' + this.first;
-        }
-    }
-}
-> s = makePerson("Simon", "Willison")
-> s.fullName()
-Simon Willison
-> s.fullNameReversed()
-Willison, Simon
-
- -

There's something here we haven't seen before: the 'this' keyword. Used inside a function, 'this' refers to the current object. What that actually means is specified by the way in which you called that function. If you called it using dot notation or bracket notation on an object, that object becomes 'this'. If dot notation wasn't used for the call, 'this' refers to the global object. This is a frequent cause of mistakes. For example:

- -
> s = makePerson("Simon", "Willison")
-> var fullName = s.fullName;
-> fullName()
-undefined undefined
-
- -

When we call fullName(), 'this' is bound to the global object. Since there are no global variables called first or last we get undefined for each one.

- -

We can take advantage of the 'this' keyword to improve our makePerson function:

- -
function Person(first, last) {
-    this.first = first;
-    this.last = last;
-    this.fullName = function() {
-        return this.first + ' ' + this.last;
-    }
-    this.fullNameReversed = function() {
-        return this.last + ', ' + this.first;
-    }
-}
-var s = new Person("Simon", "Willison");
-
- -

We've introduced another keyword: 'new'. new is strongly related to 'this'. What it does is it creates a brand new empty object, and then calls the function specified, with 'this' set to that new object. Functions that are designed to be called by 'new' are called constructor functions. Common practise is to capitalise these functions as a reminder to call them with new.

- -

Our person objects are getting better, but there are still some ugly edges to them. Every time we create a person object we are creating two brand new function objects within it - wouldn't it be better if this code was shared?

- -
function personFullName() {
-    return this.first + ' ' + this.last;
-}
-function personFullNameReversed() {
-    return this.last + ', ' + this.first;
-}
-function Person(first, last) {
-    this.first = first;
-    this.last = last;
-    this.fullName = personFullName;
-    this.fullNameReversed = personFullNameReversed;
-}
-
- -

That's better: we are creating the method functions only once, and assigning references to them inside the constructor. Can we do any better than that? The answer is yes:

- -
function Person(first, last) {
-    this.first = first;
-    this.last = last;
-}
-Person.prototype.fullName = function() {
-    return this.first + ' ' + this.last;
-}
-Person.prototype.fullNameReversed = function() {
-    return this.last + ', ' + this.first;
-}
-
- -

Person.prototype is an object shared by all instances of Person. It forms part of a lookup chain (that has a special name, "prototype chain"): any time you attempt to access a property of Person that isn't set, JavaScript will check Person.prototype to see if that property exists there instead. As a result, anything assigned to Person.prototype becomes available to all instances of that constructor via the this object.

- -

This is an incredibly powerful tool. JavaScript lets you modify something's prototype at any time in your program, which means you can add extra methods to existing objects at runtime:

- -
> s = new Person("Simon", "Willison");
-> s.firstNameCaps();
-TypeError on line 1: s.firstNameCaps is not a function
-> Person.prototype.firstNameCaps = function() {
-    return this.first.toUpperCase()
-}
-> s.firstNameCaps()
-SIMON
-
- -

Interestingly, you can also add things to the prototype of built-in JavaScript objects. Let's add a method to String that returns that string in reverse:

- -
> var s = "Simon";
-> s.reversed()
-TypeError on line 1: s.reversed is not a function
-> String.prototype.reversed = function() {
-    var r = "";
-    for (var i = this.length - 1; i >= 0; i--) {
-        r += this[i];
-    }
-    return r;
-}
-> s.reversed()
-nomiS
-
- -

Our new method even works on string literals!

- -
> "This can now be reversed".reversed()
-desrever eb won nac sihT
-
- -

As I mentioned before, the prototype forms part of a chain. The root of that chain is Object.prototype, whose methods include toString() - it is this method that is called when you try to represent an object as a string. This is useful for debugging our Person objects:

- -
> var s = new Person("Simon", "Willison");
-> s
-[object Object]
-> Person.prototype.toString = function() {
-    return '<Person: ' + this.fullName() + '>';
-}
-> s
-<Person: Simon Willison>
-
- -

Remember how avg.apply() had a null first argument? We can revisit that now. The first argument to apply() is the object that should be treated as 'this'. For example, here's a trivial implementation of 'new':

- -
function trivialNew(constructor) {
-    var o = {}; // Create an object
-    constructor.apply(o, arguments);
-    return o;
-}
-
- -

This isn't an exact replica of new as it doesn't set up the prototype chain. apply() is difficult to illustrate - it's not something you use very often, but it's useful to know about.

- -

apply() has a sister function named call, which again lets you set 'this' but takes an expanded argument list as opposed to an array.

- -
function lastNameCaps() {
-    return this.last.toUpperCase();
-}
-var s = new Person("Simon", "Willison");
-lastNameCaps.call(s);
-// Is the same as:
-s.lastNameCaps = lastNameCaps;
-s.lastNameCaps();
-
- -

Inner functions

- -

JavaScript function declarations are allowed inside other functions. We've seen this once before, with an earlier makePerson() function. An important detail of nested functions in JavaScript is that they can access variables in their parent function's scope:

- -
function betterExampleNeeded() {
-    var a = 1;
-    function oneMoreThanA() {
-        return a + 1;
-    }
-    return oneMoreThanA();
-}
-
- -

This provides a great deal of utility in writing more maintainable code. If a function relies on one or two other functions that are not useful to any other part of your code, you can nest those utility functions inside the function that will be called from elsewhere. This keeps the number of functions that are in the global scope down, which is always a good thing.

- -

This is also a great counter to the lure of global variables. When writing complex code it is often tempting to use global variables to share values between multiple functions - which leads to code that is hard to maintain. Nested functions can share variables in their parent, so you can use that mechanism to couple functions together when it makes sense without polluting your global namespace - 'local globals' if you like. This technique should be used with caution, but it's a useful ability to have.

- -

Closures

- -

This leads us to one of the most powerful abstractions that JavaScript has to offer - but also the most potentially confusing. What does this do?

- -
function makeAdder(a) {
-    return function(b) {
-        return a + b;
-    }
-}
-x = makeAdder(5);
-y = makeAdder(20);
-x(6)
-?
-y(7)
-?
-
- -

The name of the makeAdder function should give it away: it creates new 'adder' functions, which when called with one argument add it to the argument that they were created with.

- -

What's happening here is pretty much the same as was happening with the inner functions earlier on: a function defined inside another function has access to the outer function's variables. The only difference here is that the outer function has returned, and hence common sense would seem to dictate that its local variables no longer exist. But theydo still exist - otherwise the adder functions would be unable to work. What's more, there are two different "copies" of makeAdder's local variables - one in which a is 5 and one in which a is 20.

- -

Here's what's actually happening. Whenever JavaScript executes a function, a 'scope' object is created to hold the local variables created within that function. It is initialised with any variables passed in as function parameters. This is similar to the global object that all global variables and functions live in, but with a couple of important differences: firstly, a brand new scope object is created every time a function starts executing, and secondly, unlike the global object (which in browsers is accessible as window) these scope objects cannot be directly accessed from your JavaScript code. There is no mechanism for iterating over the properties of the current scope object for example.

- -

So when makeAdder is called, a scope object is created with one property: a, which is the argument passed to the makeAdder function. makeAdder then returns a newly created function. Normally JavaScript's garbage collector would clean up the scope object created for makeAdder at this point, but the returned function maintains a reference back to that scope object. As a result, the scope object will not be garbage collected until there are no more references to the function object that makeAdder returned.

- -

Scope objects form a chain called the scope chain, similar to the prototype chain used by JavaScript's object system.

- -

A closure is the combination of a function and the scope object in which it was created.

- -

Closures let you save state - as such, they can often be used in place of objects.

- -

Memory leaks

- -

An unfortunate side effect of closures is that they make it trivially easy to leak memory in Internet Explorer. JavaScript is a garbage collected language - objects are allocated memory upon their creation and that memory is reclaimed by the browser when no references to an object remain. Objects provided by the host environment are handled by that environment.

- -

Browser hosts need to manage a large number of objects representing the HTML page being presented - the objects of the DOM. It is up to the browser to manage the allocation and recovery of these.

- -

Internet Explorer uses its own garbage collection scheme for this, separate from the mechanism used by JavaScript. It is the interaction between the two that can cause memory leaks.

- -

A memory leak in IE occurs any time a circular reference is formed between a JavaScript object and a native object. Consider the following:

- -
function leakMemory() {
-    var el = document.getElementById('el');
-    var o = { 'el': el };
-    el.o = o;
-}
-
- -

The circular reference formed above creates a memory leak; IE will not free the memory used by el and o until the browser is completely restarted.

- -

The above case is likely to go unnoticed; memory leaks only become a real concern in long running applications or applications that leak large amounts of memory due to large data structures or leak patterns within loops.

- -

Leaks are rarely this obvious - often the leaked data structure can have many layers of references, obscuring the circular reference.

- -

Closures make it easy to create a memory leak without meaning to. Consider this:

- -
function addHandler() {
-    var el = document.getElementById('el');
-    el.onclick = function() {
-        this.style.backgroundColor = 'red';
-    }
-}
-
- -

The above code sets up the element to turn red when it is clicked. It also creates a memory leak. Why? Because the reference to el is inadvertently caught in the closure created for the anonymous inner function. This creates a circular reference between a JavaScript object (the function) and a native object (el).

- -

There are a number of workarounds for this problem. The simplest is this:

- -
function addHandler() {
-    var el = document.getElementById('el');
-    el.onclick = function() {
-        this.style.backgroundColor = 'red';
-    }
-    el = null;
-}
-
- -

This works by breaking the circular reference.

- -

Surprisingly, one trick for breaking circular references introduced by a closure is to add another closure:

- -
function addHandler() {
-    var clickHandler = function() {
-        this.style.backgroundColor = 'red';
-    }
-    (function() {
-        var el = document.getElementById('el');
-        el.onclick = clickHandler;
-    })();
-}
-
- -

The inner function is executed straight away, and hides its contents from the closure created with clickHandler.

- -

Another good trick for avoiding closures is breaking circular references during the window.onunload event. Many event libraries will do this for you. Note that doing so disables bfcache in Firefox 1.5, so you should not register an unload listener in Firefox, unless you have other reasons to do so.

- -
-

Original Document Information

- - -
diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/array/prototype/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/array/prototype/index.html deleted file mode 100644 index b899fe86d0..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/array/prototype/index.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Array.prototype -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Array/prototype -tags: - - JavaScript -translation_of: Web/JavaScript/Reference/Global_Objects/Array/prototype -original_slug: Web/JavaScript/Referencje/Obiekty/Array/prototype ---- -
{{JSRef("Global_Objects", "Array")}}
- -

Podsumowanie

- -

Reprezentuje prototyp tego obiektu. Pozwala na dodawanie własności lub metod do wszystkich instancji obiektu. Zobacz {{jsxref("Object.prototype")}}, aby uzyskać więcej informacji.

diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/clear/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/clear/index.html deleted file mode 100644 index cbe8eaab2d..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/clear/index.html +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Map.prototype.clear() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/clear -tags: - - ECMAScript 2015 - - JavaScript - - Mapa - - Metodă - - Prototyp -translation_of: Web/JavaScript/Reference/Global_Objects/Map/clear -original_slug: Web/JavaScript/Reference/Global_Objects/Map/clear ---- -
{{JSRef}}
- -

Metoda clear() usuwa wszystkie elementy z obiektu Map.

- -
var map1 = new Map();
-
-map1.set('bar', 'baz');
-map1.set(1, 'foo');
-
-console.log(map1.size);
-// wartość zwracana: 2
-
-map1.clear();
-
-console.log(map1.size);
-// wartość zwracana: 0
-
- -

Składnia

- -
myMap.clear();
- -

Zwracana wartość

- -

{{jsxref("undefined")}}.

- -

Przykłady

- -

Używanie metody clear

- -
var myMap = new Map();
-myMap.set('bar', 'baz');
-myMap.set(1, 'foo');
-
-myMap.size;       // 2
-myMap.has('bar'); // true
-
-myMap.clear();
-
-myMap.size;       // 0
-myMap.has('bar')  // false
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.clear', 'Map.prototype.clear')}}{{Spec2('ES2015')}}Definicja początkowa.
{{SpecName('ESDraft', '#sec-map.prototype.clear', 'Map.prototype.clear')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- - - -

{{Compat("javascript.builtins.Map.clear")}}

- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/delete/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/delete/index.html deleted file mode 100644 index 975d5326b7..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/delete/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Map.prototype.delete() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/delete -tags: - - Mapa - - Metodă -translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete -original_slug: Web/JavaScript/Reference/Global_Objects/Map/delete ---- -
{{JSRef}}
- -

Metoda delete() usuwa określony element z obiektu Map.

- -
var map1 = new Map();
-map1.set('bar', 'foo');
-
-console.log(map1.delete('bar'));
-// oczekiwany wynik: true
-// (true wskazuje na poprawne usunięcie)
-
-console.log(map1.has('bar'));
-// oczekiwany wynik: false
-
- -

Składnia

- -
myMap.delete(key);
- -

Parametery

- -
-
key
-
Wymagany. Klucz elementu, który ma zostać usunięty z obiektu Map.
-
- -

Zwracana wartość

- -
-
Boolean
-
Zwraca true, jeśli element w Map istniał i został usunięty lub false, jeśli nie.
-
- -

Przykłady

- -

Używanie metody delete

- -
var myMap = new Map();
-myMap.set('bar', 'foo');
-
-myMap.delete('bar'); // Zwraca true. Udało się usunąć.
-myMap.has('bar');    // Zwraca false. Element "bar" już nie istnieje.
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.delete', 'Map.prototype.delete')}}{{Spec2('ES2015')}}Definicja początkowa.
{{SpecName('ESDraft', '#sec-map.prototype.delete', 'Map.prototype.delete')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- - - -

{{Compat("javascript.builtins.Map.delete")}}

- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/entries/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/entries/index.html deleted file mode 100644 index 8e9de87679..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/entries/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Map.prototype.entries() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/entries -tags: - - ECMAScript2015 - - Iterator - - JavaScript - - Mapa - - Metodă - - Prototyp -translation_of: Web/JavaScript/Reference/Global_Objects/Map/entries -original_slug: Web/JavaScript/Reference/Global_Objects/Map/entries ---- -
{{JSRef}}
- -

Metoda entries() zwraca nowy obiekt typu Iterator który zawiera pary[klucz, wartość] dla każdego elementu Mapy. Można się do nich odnieść w takiej kolejności, jakiej zostały wstawione.

- -
{{EmbedInteractiveExample("pages/js/map-prototype-entries.html")}}
- - - -

Składnia

- -
myMap.entries()
- -

Zwracana wartość

- -

Nowy iterator obiektu typu {{jsxref("Map")}}.

- -

Przykłady

- -

Używanie entries()

- -
var myMap = new Map();
-myMap.set('0', 'foo');
-myMap.set(1, 'bar');
-myMap.set({}, 'baz');
-
-var mapIter = myMap.entries();
-
-console.log(mapIter.next().value); // ["0", "foo"]
-console.log(mapIter.next().value); // [1, "bar"]
-console.log(mapIter.next().value); // [Object, "baz"]
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.entries', 'Map.prototype.entries')}}{{Spec2('ES2015')}}Początkowa definicja.
{{SpecName('ESDraft', '#sec-map.prototype.entries', 'Map.prototype.entries')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support38{{CompatVersionUnknown}}{{ CompatGeckoDesktop("20") }}{{CompatNo}}257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatNo}}38{{CompatVersionUnknown}}{{CompatGeckoMobile("20")}}{{CompatNo}}{{CompatNo}}8
-
- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/foreach/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/foreach/index.html deleted file mode 100644 index 6ba031adbc..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/foreach/index.html +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Map.prototype.forEach() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/forEach -tags: - - ECMAScript2015 - - JavaScript - - Mapa - - Metodă - - Prototyp -translation_of: Web/JavaScript/Reference/Global_Objects/Map/forEach -original_slug: Web/JavaScript/Reference/Global_Objects/Map/forEach ---- -
{{JSRef}}
- -

Metoda forEach() wykonuje dostarczoną funcję callback raz dla każdej pary klucz-wartosć Mapy w kolejności, w jakiej zostały zostały wstawione.

- -
{{EmbedInteractiveExample("pages/js/map-prototype-foreach.html")}}
- - - -

Składnia

- -
myMap.forEach(callback[, thisArg])
- -

Parametry

- -
-
callback
-
Funkcja wykonywana dla każdego elementu.
-
thisArg
-
Wartość przypisywana do this poczas wywołania zwrotnego (funkcja callback).
-
- -

Zwracana wartosć

- -

{{jsxref("undefined")}}.

- -

Opis

- -

Metoda forEach wykonuje dostarczoną funkcję callback raz dla każdego klucza mapy, który istnieje. Nie jest wywoływana dla usuniętych kluczy, ale dla istniejących z wartością undefined już tak.

- -

Funkcja callback przyjmuje trzy argumenty:

- - - -

Jeśli argument thisArg jest dostarczony do forEach, zostaje przekazany do fukncji callback podczas jej wywołania, jako jej własna wartość this.  W przeciwnym wypadku, this przyjmuje wartość undefined

- -

Każda wartość jest odwiedzana raz, oprócz przypadku, gdzie została usunięta, a następnie dodana ponownie, nim metoda forEach zakończyła swoje działanie. Funkcja callback nie jest wywoływana dla wartości usuniętych przed ich odwiedzeniem. Nowe wartości dodane jeszcze przed zakończeniem forEach zostaną odwiedzone.

- -

Metoda forEach nie zwraca żadnej wartości.

- -

Przykłady

- -

Wyświetlanie zawartości Mapy

- -

Poniższy kod wyświetla jedną linię dla każdej pary klucz-wartość Mapy:

- -
function logMapElements(value, key, map) {
-    console.log(`m[${key}] = ${value}`);
-}
-new Map([['foo', 3], ['bar', {}], ['baz', undefined]]).forEach(logMapElements);
-// logs:
-// "m[foo] = 3"
-// "m[bar] = [object Object]"
-// "m[baz] = undefined"
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}}{{Spec2('ES2015')}}Definicja początkowa.
{{SpecName('ESDraft', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- - - -

{{Compat("javascript.builtins.Map.forEach")}}

- -

See also

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/get/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/get/index.html deleted file mode 100644 index afdb516877..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/get/index.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: Map.prototype.get() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/get -tags: - - ECMAScript 2015 - - JavaScript - - Mapa - - Metodă - - Prototyp -translation_of: Web/JavaScript/Reference/Global_Objects/Map/get -original_slug: Web/JavaScript/Reference/Global_Objects/Map/get ---- -
{{JSRef}}
- -

Metoda get() zwraca podany element Mapy.

- -
{{EmbedInteractiveExample("pages/js/map-prototype-get.html")}}
- - - -

Składnia

- -
myMap.get(key);
- -

Parametry

- -
-
key
-
Wymagany. Klucz elementu, który ma zostać zwrócony.
-
- -

Zwracana wartość

- -

Element powiązany z danym kluczym lub undefined, jeśli klucz nie został odnaleziony.

- -

Przykłady

- -

Używanie metody get

- -
var myMap = new Map();
-myMap.set('bar', 'foo');
-
-myMap.get('bar');  // zwraca "foo".
-myMap.get('baz');  // zwraca undefined.
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.get', 'Map.prototype.get')}}{{Spec2('ES2015')}}Definicja początkowa.
{{SpecName('ESDraft', '#sec-map.prototype.get', 'Map.prototype.get')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- - - -

{{Compat("javascript.builtins.Map.get")}}

- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/has/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/has/index.html deleted file mode 100644 index c6d61e9855..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/has/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Map.prototype.has() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/has -tags: - - ECMAScript 2015 - - JavaScript - - Mapa - - Metodă - - Prototyp -translation_of: Web/JavaScript/Reference/Global_Objects/Map/has -original_slug: Web/JavaScript/Reference/Global_Objects/Map/has ---- -
{{JSRef}}
- -

Metoda has() zwraca Boolean, który określa czy element o podanym kluczu istnieje.

- -
{{EmbedInteractiveExample("pages/js/map-prototype-has.html")}}
- - - -

Składnia

- -
myMap.has(key);
- -

Parametry

- -
-
key
-
Wymagany. Klucz elementu, którego istnienie w Mapie zostanie sprawdzone.
-
- -

Zwracana wartość

- -
-
Boolean
-
-

true, jeśli dany element istnieje w Mapie - w przeciwnym wypadku false.

-
-
- -

Przykłady

- -

Używanie metody has

- -
var myMap = new Map();
-myMap.set('bar', "foo");
-
-myMap.has('bar');  // zwraca true
-myMap.has('baz');  // zwraca false
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.has', 'Map.prototype.has')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ESDraft', '#sec-map.prototype.has', 'Map.prototype.has')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- - - -

{{Compat("javascript.builtins.Map.has")}}

- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/index.html deleted file mode 100644 index 90dad3e7d9..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/index.html +++ /dev/null @@ -1,459 +0,0 @@ ---- -title: Map -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map -tags: - - ECMAScript 2015 - - JavaScript - - Map -translation_of: Web/JavaScript/Reference/Global_Objects/Map -original_slug: Web/JavaScript/Reference/Global_Objects/Map ---- -
{{JSRef}}
- -

Map jest prostym obiektem mapującym klucze na wartości. Każdy element (zarówno obiekt jak i {{Glossary("Primitive", "wartości proste")}}) mogą być użyte zarówno jako klucz jak i wartość.

- -

Składnia

- -
new Map([iterable])
- -

Parametry

- -
-
iterable
-
Iterable jest tablicą lub innym iterowalnym obiektem, którego elementy są parami typu klucz-wartość (np. 2 elementowa tablica). Każda para klucz-wartość jest dodawana do obiektu new Map. null jest traktowane jako undefined.
-
- -

Opis

- -

Obiekt Map iteruje swoje elementy we wprowadzonej kolejności — pętla {{jsxref("Statements/for...of", "for...of")}} zwraca tablicę  [key, value] dla każdej iteracji.

- -

Należy pamiętać, że kolejność iteracji dla Map mapującej obiekty, w szczególności np. dla słownika słowników, odzwieciedlać będzie jedynie kolejność dodawania obiektów do kolekcji, natomiast kolejność dodawania elementów do samych obiektów nie jest gwarantowana i powinna być traktowana jako losowa.

- -

Równość kluczy

- -

Klucze porównywane są według algorytmu "same-value" (tej samej wartości).

- -

NaN jest traktowana jako równa NaN (mimo tego, że NaN !== NaN). Wszystkie inne wartości są uważane za równe zgodnie z semantyką ===  operatora równości.

- -

W obecnej specyfikacji ECMAScript -0 === +0, choć wcześniejsze propozycje zakładały inne zachowanie, co zaowocowało implementacją w niektórych wersjach przeglądarek. Szczegóły zawarte są w  "Value equality for -0 and 0"  w tabeli kompatybilności przeglądarek.

- -

Porównanie Obiektów i Map

- -

{{jsxref("Object", "Obiekty")}} są podobne do Map. W obu przypadkach pozwalają ustawić klucze dla wartości, zwracają te wartości, usuwają klucze i wykrywają czy coś jest przechowywane jako klucz. Z tego powodu (i ponieważ nie było innych wbudowanych alternatyw), Object  był używany wcześniej jako Map. Istnieją jednak ważne różnice pomiędzy Obiektami i Mapami, które powodują, że Map jest lepszym wyborem w pewnych przypadkach:

- - - -

Nie oznacza to, że powinno się używać Maps wszędzie. Obiekty są wciąż używane w większości przypadków.  Instancje Map są użyteczne dla kolekcji, warto rozważyć ich zaadaptowanie jedynie w przypadkach, gdy wcześniej używano dla nich obiektów. Obiekty powinny być używane jako rejestr z polami i metodami. Jeśli wciąż nie jesteś pewien czego użyć, pomocne mogą okazać się poniższe pytania:

- - - -

Jeśli odpowiedziałeś 'tak' na którekolwiek z tych pytań, prawdopodobnie powinieneś użyć Map. I przeciwnie, jeśli masz zamknięty zbiór kluczy, jeśli musisz odwoływać się do poszczególnych, specyficznych kluczy a każdy z nich ma swoje, odrębne od innych znaczenie, najprawdopodobniej potrzebujesz obiektu.

- -

Własności

- -
-
Map.length
-
Wartość length  jest zawsze równa 0.
-
{{jsxref("Map.@@species", "get Map[@@species]")}}
-
Funkcja konstruktora używana do tworzenia obiektów pochodnych.
-
{{jsxref("Map.prototype")}}
-
Reprezentuje prototyp funkcji konstruktora Map. Pozwala rozszerzać prototyp wszystkich obiektów Map o własne własności.
-
- -

Instancje Map

- -

Wszystkie instancje Map  dziedziczą po {{jsxref("Map.prototype")}}.

- -

Własności

- -

{{page('en-US/Web/JavaScript/Reference/Global_Objects/Map/prototype','Properties')}}

- -

Metody

- -

{{page('en-US/Web/JavaScript/Reference/Global_Objects/Map/prototype','Methods')}}

- -

Przykłady

- -

Używanie obiektu typu Map

- -
var myMap = new Map();
-
-var keyString = 'a string',
-    keyObj = {},
-    keyFunc = function() {};
-
-// setting the values
-myMap.set(keyString, "value associated with 'a string'");
-myMap.set(keyObj, 'value associated with keyObj');
-myMap.set(keyFunc, 'value associated with keyFunc');
-
-myMap.size; // 3
-
-// getting the values
-myMap.get(keyString);    // "value associated with 'a string'"
-myMap.get(keyObj);       // "value associated with keyObj"
-myMap.get(keyFunc);      // "value associated with keyFunc"
-
-myMap.get('a string');   // "value associated with 'a string'"
-                         // because keyString === 'a string'
-myMap.get({});           // undefined, because keyObj !== {}
-myMap.get(function() {}) // undefined, because keyFunc !== function () {}
-
- -

Użycie NaN jako kluczy w  Map

- -

NaN can also be used as a key. Even though every NaN is not equal to itself (NaN !== NaN is true), the following example works, because NaNs are indistinguishable from each other:

- -
var myMap = new Map();
-myMap.set(NaN, 'not a number');
-
-myMap.get(NaN); // "not a number"
-
-var otherNaN = Number('foo');
-myMap.get(otherNaN); // "not a number"
-
- -

Iteracja po Map przy użyciu for..of

- -
var myMap = new Map();
-myMap.set(0, 'zero');
-myMap.set(1, 'one');
-for (var [key, value] of myMap) {
-  console.log(key + ' = ' + value);
-}
-// 0 = zero
-// 1 = one
-
-for (var key of myMap.keys()) {
-  console.log(key);
-}
-// 0
-// 1
-
-for (var value of myMap.values()) {
-  console.log(value);
-}
-// zero
-// one
-
-for (var [key, value] of myMap.entries()) {
-  console.log(key + ' = ' + value);
-}
-// 0 = zero
-// 1 = one
-
- -

Iteracja po Map przy użyciu forEach()

- -
myMap.forEach(function(value, key) {
-  console.log(key + ' = ' + value);
-});
-// Will show 2 logs; first with "0 = zero" and second with "1 = one"
-
- -

Relacja do obiektów typu Array

- -
var kvArray = [['key1', 'value1'], ['key2', 'value2']];
-
-// Use the regular Map constructor to transform a 2D key-value Array into a map
-var myMap = new Map(kvArray);
-
-myMap.get('key1'); // returns "value1"
-
-// Use the spread operator to transform a map into a 2D key-value Array.
-console.log(uneval([...myMap])); // Will show you exactly the same Array as kvArray
-
-// Or use the spread operator on the keys or values iterator to get
-// an array of only the keys or values
-console.log(uneval([...myMap.keys()])); // Will show ["key1", "key2"]
-
- -

Specyfikacje

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map-objects', 'Map')}}{{Spec2('ES2015')}}Początkowa definicja
{{SpecName('ESDraft', '#sec-map-objects', 'Map')}}{{Spec2('ESDraft')}}
- -

Kompatybilność przeglądarek

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support -

{{ CompatChrome(38) }} [1]

-
12{{ CompatGeckoDesktop("13") }}11257.1
Constructor argument: new Map(iterable){{ CompatChrome(38) }}12{{ CompatGeckoDesktop("13") }}{{CompatNo}}25{{CompatSafari("9")}}
iterable{{ CompatChrome(38) }}12{{ CompatGeckoDesktop("17") }}{{CompatNo}}257.1
Map.clear(){{ CompatChrome(31) }}
- {{ CompatChrome(38) }}
12{{CompatGeckoDesktop("19")}}11257.1
Map.keys(), Map.values(), Map.entries(){{ CompatChrome(37) }}
- {{ CompatChrome(38) }}
12{{CompatGeckoDesktop("20")}}{{CompatNo}}257.1
Map.forEach(){{ CompatChrome(36) }}
- {{ CompatChrome(38) }}
12{{CompatGeckoDesktop("25")}}11257.1
Key equality for -0 and 0{{ CompatChrome(34) }}
- {{ CompatChrome(38) }}
12{{CompatGeckoDesktop("29")}}{{CompatNo}}25{{CompatSafari("9")}}
Constructor argument: new Map(null){{CompatVersionUnknown}}12{{CompatGeckoDesktop("37")}}11{{CompatVersionUnknown}}{{CompatSafari("9")}}
Monkey-patched set() in Constructor{{CompatVersionUnknown}}12{{CompatGeckoDesktop("37")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatSafari("9")}}
Map[@@species]{{CompatChrome("51")}}13{{CompatGeckoDesktop("41")}}{{CompatNo}}{{CompatOpera("38")}}{{CompatSafari("10")}}
Map() without new throws{{CompatVersionUnknown}}12{{ CompatGeckoDesktop("42") }}11{{CompatVersionUnknown}}{{CompatSafari("9")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatNo}}{{ CompatChrome(38) }} [1]{{ CompatGeckoMobile("13") }}{{CompatNo}}{{CompatNo}}8
Constructor argument: new Map(iterable){{CompatNo}}{{ CompatChrome(38) }}{{ CompatGeckoMobile("13") }}{{CompatNo}}{{CompatNo}}9
iterable{{CompatNo}}{{CompatNo}}{{ CompatGeckoMobile("17") }}{{CompatNo}}{{CompatNo}}8
Map.clear(){{CompatNo}}{{ CompatChrome(31) }}
- {{ CompatChrome(38) }}
{{CompatGeckoMobile("19")}}{{CompatNo}}{{CompatNo}}8
Map.keys(), Map.values(), Map.entries(){{CompatNo}}{{ CompatChrome(37) }}
- {{ CompatChrome(38) }}
{{CompatGeckoMobile("20")}}{{CompatNo}}{{CompatNo}}8
Map.forEach(){{CompatNo}}{{ CompatChrome(36) }}
- {{ CompatChrome(38) }}
{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
Key equality for -0 and 0{{CompatNo}}{{ CompatChrome(34) }}
- {{ CompatChrome(38) }}
{{CompatGeckoMobile("29")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
Constructor argument: new Map(null){{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37")}}{{CompatUnknown}}{{CompatUnknown}}9
Monkey-patched set() in Constructor{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37")}}{{CompatUnknown}}{{CompatUnknown}}9
Map[@@species]{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("41")}}{{CompatUnknown}}{{CompatUnknown}}10
Map() without new throws5.1{{CompatUnknown}}{{CompatGeckoMobile("42")}}{{CompatUnknown}}{{CompatUnknown}}9
-
- -

[1] Starting with Chrome 31, the feature was available behind a preference. In chrome://flags, activate the entry “Enable Experimental JavaScript”.

- -

Zobacz też

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/keys/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/keys/index.html deleted file mode 100644 index 2d172c5bf5..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/keys/index.html +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Map.prototype.keys() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/keys -tags: - - ECMAScript 2015 - - Iterator - - JavaScript - - Mapa - - Metodă - - Prototyp -translation_of: Web/JavaScript/Reference/Global_Objects/Map/keys -original_slug: Web/JavaScript/Reference/Global_Objects/Map/keys ---- -
{{JSRef}}
- -

Metoda keys() zwraca nowy obiekt typu Iterator, który zawiera klucze dla każdego elementu w Mapie. Można się do nich odnieść w takiej kolejności, jakiej zostały wstawione.

- -
{{EmbedInteractiveExample("pages/js/map-prototype-keys.html")}}
- - - -

Składnia

- -
myMap.keys()
- -

Zwracana wartość

- -

Nowy iterator obiektu typu {{jsxref("Map")}}

- -

Przykłady

- -

Używanie keys()

- -
var myMap = new Map();
-myMap.set('0', 'foo');
-myMap.set(1, 'bar');
-myMap.set({}, 'baz');
-
-var mapIter = myMap.keys();
-
-console.log(mapIter.next().value); // "0"
-console.log(mapIter.next().value); // 1
-console.log(mapIter.next().value); // Object
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.keys', 'Map.prototype.keys')}}{{Spec2('ES2015')}}Definicja początkowa.
{{SpecName('ESDraft', '#sec-map.prototype.keys', 'Map.prototype.keys')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- - - -

{{Compat("javascript.builtins.Map.keys")}}

- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/set/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/set/index.html deleted file mode 100644 index af414240a0..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/set/index.html +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: Map.prototype.set() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/set -tags: - - ECMAScript 2015 - - JavaScript - - Mapa - - Metodă - - Prototyp -translation_of: Web/JavaScript/Reference/Global_Objects/Map/set -original_slug: Web/JavaScript/Reference/Global_Objects/Map/set ---- -
{{JSRef}}
- -

Metoda set() dodaje lub zmienia element o podany kluczu i wartości w Mapie

- -
{{EmbedInteractiveExample("pages/js/map-prototype-set.html")}}
- - - -

Składnia

- -
myMap.set(key, value);
- -

Parametry

- -
-
key
-
Wymagany. Klucz elementu, który zostanie dodany do Mapy.
-
value
-
Wymagany. Wartość elementu, który zostanie dodany do Mapy.
-
- -

Zwracana wartość

- -

 Obiekt typu Map.

- -

Przykłady

- -

Używanie set()

- -
var myMap = new Map();
-
-// Dodawanie nowych elementu
-myMap.set('bar', 'foo');
-myMap.set(1, 'foobar');
-
-// Zmiana istniejącego już elementu
-myMap.set('bar', 'baz');
-
- -

Używanie set w połączeniu z łańcuchowaniem

- -

Ponieważ set() zwraca ten sam obiekt typu Mapa, można użyć chainingu (uruchamianie metod jedna po drugiej na danym obiekcie przy użyciu kropek).

- -
// Dodawanie elementów do mapy za pomocą chainingu
-myMap.set('bar', 'foo')
-     .set(1, 'foobar')
-     .set(2, 'baz');
-
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.set', 'Map.prototype.set')}}{{Spec2('ES2015')}}Definicja początowa.
{{SpecName('ESDraft', '#sec-map.prototype.set', 'Map.prototype.set')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- - - -

{{Compat("javascript.builtins.Map.set")}}

- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/size/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/size/index.html deleted file mode 100644 index 2afa720805..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/size/index.html +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Map.prototype.size -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/size -tags: - - JavaScript - - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/Map/size -original_slug: Web/JavaScript/Reference/Global_Objects/Map/size ---- -
{{JSRef}}
- -

Atrybut size zwraca ilość elementów znajdujących się w obiekcie {{jsxref("Map")}}.

- -
{{EmbedInteractiveExample("pages/js/map-prototype-size.html")}}
- - - -

Opis

- -

Wartość size to liczba reprezentująca ile elementów posiada obiekt Map. Funkcja set dla size to undefined; nie można edytować tego atrybutu.

- -

Przykłady

- -

Użycie size

- -
var myMap = new Map();
-myMap.set('a', 'alpha');
-myMap.set('b', 'beta');
-myMap.set('g', 'gamma');
-
-myMap.size // 3
-
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-get-map.prototype.size', 'Map.prototype.size')}}{{Spec2('ES2015')}}Definicja początkowa.
{{SpecName('ESDraft', '#sec-get-map.prototype.size', 'Map.prototype.size')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność

- - - -

{{Compat("javascript.builtins.Map.size")}}

- -

Zobacz także

- - diff --git a/files/pl/orphaned/web/javascript/reference/global_objects/map/values/index.html b/files/pl/orphaned/web/javascript/reference/global_objects/map/values/index.html deleted file mode 100644 index 62e2b767bd..0000000000 --- a/files/pl/orphaned/web/javascript/reference/global_objects/map/values/index.html +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: Map.prototype.values() -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/values -tags: - - ECMAScript 2015 - - Iterator - - JavaScript - - Mapa - - Metodă - - Prototyp -translation_of: Web/JavaScript/Reference/Global_Objects/Map/values -original_slug: Web/JavaScript/Reference/Global_Objects/Map/values ---- -
{{JSRef}}
- -

Metoda values() zwraca nowy obiekt typu Iterator, który zawiera wartości dla każdego elementu w Mapie. Można się do nich odnieść w takiej kolejności, jakiej zostały wstawione.

- -
{{EmbedInteractiveExample("pages/js/map-prototype-values.html")}}
- - - -

Składnia

- -
myMap.values()
- -

Zwracana wartość

- -

Nowy iterator obiektu typu {{jsxref("Map")}}.

- -

Przykłady

- -

Używanie values()

- -
var myMap = new Map();
-myMap.set('0', 'foo');
-myMap.set(1, 'bar');
-myMap.set({}, 'baz');
-
-var mapIter = myMap.values();
-
-console.log(mapIter.next().value); // "foo"
-console.log(mapIter.next().value); // "bar"
-console.log(mapIter.next().value); // "baz"
- -

Specyfikacja

- - - - - - - - - - - - - - - - - - - -
SpecyfikacjaStatusKomentarz
{{SpecName('ES2015', '#sec-map.prototype.values', 'Map.prototype.values')}}{{Spec2('ES2015')}}Definicja początkowa.
{{SpecName('ESDraft', '#sec-map.prototype.values', 'Map.prototype.values')}}{{Spec2('ESDraft')}} 
- -

Kompatybilność z przeglądarkami

- - - -

{{Compat("javascript.builtins.Map.values")}}

- -

Zobacz również

- - diff --git a/files/pl/orphaned/web/javascript/reference/operators/pipeline_operator/index.html b/files/pl/orphaned/web/javascript/reference/operators/pipeline_operator/index.html deleted file mode 100644 index fd379e7147..0000000000 --- a/files/pl/orphaned/web/javascript/reference/operators/pipeline_operator/index.html +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Operator potoku -slug: orphaned/Web/JavaScript/Reference/Operators/Pipeline_operator -tags: - - JavaScript - - Operator - - ekxperymentalny -translation_of: Web/JavaScript/Reference/Operators/Pipeline_operator -original_slug: Web/JavaScript/Reference/Operators/Pipeline_operator ---- -
{{jsSidebar("Operators")}} {{SeeCompatTable}}
- -
Eskperymentalny operator potoku |> (obecnie na pierwszym etapie testów) pozwala na tworzenie łańcuchów wywołań funkcji w czytelny sposób. Dodaje lukier syntaktyczny do wywołania funkcji z pojedynczym argumentem, pozwalając przykładowo na pisanie '%21' |> decodeURI zamiast decodeURI('%21').
- -

Składnia

- -
wyrażenie |> funkcja
- -

Przykłady

- -

Łańcuchowe wywołania funkcji

- -

Operator potoku może poprawić czytelność kodu przy łańcuchowych wywołaniach wielu funkcji.

- -
const double = (n) => n * 2;
-const increment = (n) => n + 1;
-
-// bez operatora potoku
-double(increment(double(double(5)))); // 42
-
-// z użyciem potoku
-5 |> double |> double |> increment |> double; // 42
-
- -

Specyfikacje

- - - - - - - - - - - - - - - - -
SpecyfikacjaStatusUwagi
Pipeline operator draftStage 1Nie jest jeszcze częścią specyfikacji ECMAScript.
- -

Wsparcie przeglądarek

- -
- - -

{{Compat("javascript.operators.pipeline")}}

-
- -

Zobacz też

- - diff --git a/files/pl/orphaned/web/javascript/referencje/o_tym_dokumencie/konwencje_formatowania_tekstu/index.html b/files/pl/orphaned/web/javascript/referencje/o_tym_dokumencie/konwencje_formatowania_tekstu/index.html deleted file mode 100644 index ce48c1f869..0000000000 --- a/files/pl/orphaned/web/javascript/referencje/o_tym_dokumencie/konwencje_formatowania_tekstu/index.html +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Konwencje formatowania tekstu -slug: >- - orphaned/Web/JavaScript/Referencje/O_tym_dokumencie/Konwencje_formatowania_tekstu -tags: - - Dokumentacja_JavaScript - - Dokumentacje - - JavaScript - - Wszystkie_kategorie -original_slug: Web/JavaScript/Referencje/O_tym_dokumencie/Konwencje_formatowania_tekstu ---- -

 

-

Aplikacje w języku JavaScript działają na różnych systemach operacyjnych; informacje zawarte w tym dokumencie dotyczą wszystkich wersji. Nazwy plików i katalogów podawane są w stylu Windows (tzn. do rozdzielania katalogów stosowane są wsteczne ukośniki). Dla wersji Unix ścieżki są takie same, należy tylko zamienić ukośniki wsteczne na ukośniki zwykłe.

-

W dokumencie tym uniwersalne lokalizatory zasobów (adresy URL) podawane są w postaci:

-

http://serwer.domena/ścieżka/plik.html

-

W tych adresach URL:

- -

Ogólnie rzecz biorąc, elementy pochylone w adresach URL są placeholderami, a elementy w normalnej czcionce o stałej szerokości - literałami.

-

W dokumencie tym stosowane są następujące konwencje dotyczące czcionek:

- - - diff --git a/files/pl/orphaned/web/security/information_security_basics/index.html b/files/pl/orphaned/web/security/information_security_basics/index.html deleted file mode 100644 index 3ec3d0d1ca..0000000000 --- a/files/pl/orphaned/web/security/information_security_basics/index.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Podstawy bezpieczeństwa informacji -slug: orphaned/Web/Security/Information_Security_Basics -tags: - - Bezpieczeństwo - - Początkujący - - bezpieczeństwo aplikacji WWW -translation_of: Web/Security/Information_Security_Basics -original_slug: Web/Bezpieczeństwo/Podstawy_bezpieczenstwa_informacji ---- -

Podstawowa znajomość bezpieczeństwa informacji może pomóc Ci uniknąć pozostawiania Twojego oprogramowania i stron WWW niezabezpieczonych oraz zawierających podatności, które później mogą zostać wykorzystane do osiągnięcia korzyści finansowych lub do innych, podejrzanych celów. Te arykuły mogą Ci pomóc zdobyć potrzebną bazę wiedzy.Dzięki zapoznaniu się z nimi będziesz świadomy/a, jak ważne jest bezpieczeństwo podczas tworzenia stron WWW oraz podczas implementacji treści.

- -
-
Poufność, Integralność i Dostępność
-
-

Opisuje najważniejsze cele bezpieczeństwa, które są absolutnie niezbędne do zrozumienia istoty bezpieczeństwa

-
-
Podatności
-
Definiuje główne kategorie podatności i omawia obecność podatności w każdym oprogramowaniu
-
Zagrożenia
-
Krótko przedstawia główne zagrożenia
-
Kontrole Bezpieczeństwa
-
Definiuje główne kategorie kontroli bezpieczeństwa i omawia ich potencjalne wady
-
Bezpieczeństwo TCP/IP
-
Zarys modelu TCP/IP z naciskiem na aspekty bezpieczeństwa SSL
-
- -

Zobacz również

- - - -

{{QuickLinksWithSubpages("/en-US/docs/Web/Security")}}

diff --git "a/files/pl/orphaned/wsparcie_przegl\304\205darek_dla_element\303\263w_html/index.html" "b/files/pl/orphaned/wsparcie_przegl\304\205darek_dla_element\303\263w_html/index.html" deleted file mode 100644 index bda81c6f54..0000000000 --- "a/files/pl/orphaned/wsparcie_przegl\304\205darek_dla_element\303\263w_html/index.html" +++ /dev/null @@ -1,1391 +0,0 @@ ---- -title: Wsparcie przeglądarek dla elementów HTML -slug: orphaned/Wsparcie_przeglądarek_dla_elementów_HTML -tags: - - HTML - - Wszystkie_kategorie -original_slug: Wsparcie_przeglądarek_dla_elementów_HTML ---- -

-


-W HTML 4.0 dodano kilka elementów, kilka usunięto, inne wycofano z użycia to samo z atrybutami. Ta techniczna notatka opisuje elementy wspierane w HTML 4.0 w Netscape Navigator 4.x, Netscape 6, Internet Explorer 3.x-5.x, HTML 3.2 i HTML 4.0. -

-

Odniesienia

-

Wymagane odniesienia dla HTML 4.01 to: -

- -

Nowe elementy w HTML 4.0

- -

Wsparcie przeglądarek dla elementów

-

Legenda

-
NN4
Netscape Navigator 4.x -
NS6
Netscape 6 -
IE3
Internet Explorer 3.x -
IE4
Internet Explorer 4.x -
IE5
Internet Explorer 5.x -
HTML3
HTML 3.2 -
HTML4
HTML 4.0 -
-

Tabela wsparcia

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Element KomentarzeNiezalecane atrybuty
ANN4NS6IE3IE4IE5HTML3HTML4
ABBR NS6 HTML4
ACRONYM NS6 IE4IE5 HTML4
ADDRESSNN4NS6IE3IE4IE5HTML3HTML4
APPLETNN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0ALIGN, ARCHIVE, CODE, CODEBASE, HEIGHT, NAME, OBJECT, WIDTH
AREANN4NS6IE3IE4IE5HTML3HTML4
BNN4NS6IE3IE4IE5HTML3HTML4
BASENN4NS6IE3IE4IE5HTML3HTML4
BASEFONTNN4 IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0
Nie wspierane w NS6 Zobacz Bugzilla Bug 3875 -
COLOR, FACE, SIZE
BDO IE5 HTML4niewspierane w NS6
BGSOUND IE3IE4IE5
BIGNN4NS6IE3IE4IE5HTML3HTML4
BLINKNN4
BLOCKQUOTENN4NS6IE3IE4IE5HTML3HTML4
BODYNN4NS6IE3IE4IE5HTML3HTML4 ALINK, BACKGROUND, BGCOLOR, LINK, TEXT, VLINK
BRNN4NS6IE3IE4IE5HTML3HTML4 CLEAR
BUTTON NS6 IE4IE5 HTML4
CAPTIONNN4NS6IE3IE4IE5HTML3HTML4 ALIGN
CENTERNN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0
CITENN4NS6IE3IE4IE5HTML3HTML4
CODENN4NS6IE3IE4IE5HTML3HTML4
COL NS6IE3IE4IE5 HTML4
COLGROUP NS6IE3IE4IE5 HTML4
COMMENT IE3IE4IE5
DDNN4NS6IE3IE4IE5HTML3HTML4
DEL NS6 IE4IE5 HTML4
DFN NS6IE3IE4IE5HTML3HTML4
DIRNN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0COMPACT
DIVNN4NS6IE3IE4IE5HTML3HTML4
DLNN4NS6IE3IE4IE5HTML3HTML4 COMPACT
DTNN4NS6IE3IE4IE5HTML3HTML4
EMNN4NS6IE3IE4IE5HTML3HTML4
EMBEDNN4NS6IE3IE4IE5
FIELDSET NS6 IE4IE5 HTML4
FONTNN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0COLOR, FACE, SIZE
FORMNN4NS6IE3IE4IE5HTML3HTML4
FRAMENN4NS6IE3IE4IE5 HTML4
FRAMESETNN4NS6IE3IE4IE5 HTML4
H1NN4NS6IE3IE4IE5HTML3HTML4 ALIGN
H2NN4NS6IE3IE4IE5HTML3HTML4 ALIGN
H3NN4NS6IE3IE4IE5HTML3HTML4 ALIGN
H4NN4NS6IE3IE4IE5HTML3HTML4 ALIGN
H5NN4NS6IE3IE4IE5HTML3HTML4 ALIGN
H6NN4NS6IE3IE4IE5HTML3HTML4 ALIGN
HEADNN4NS6IE3IE4IE5HTML3HTML4
HRNN4NS6IE3IE4IE5HTML3HTML4 ALIGN, NOSHADE, SIZE, WIDTH
HTMLNN4NS6IE3IE4IE5HTML3HTML4 VERSION
INN4NS6IE3IE4IE5HTML3HTML4
IFRAME NS6IE3IE4IE5 HTML4 ALIGN
ILAYERNN4 Zastąpione względnie pozycjowanymi DIV-ami
IMGNN4NS6IE3IE4IE5HTML3HTML4 ALIGN, BORDER, HSPACE, VSPACE
INPUTNN4NS6IE3IE4IE5HTML3HTML4 ALIGN
INS NS6 IE4IE5 HTML4
ISINDEXNN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0PROMPT
KBDNN4NS6IE3IE4IE5HTML3HTML4
KEYGENNN4
LABEL NS6 IE4IE5 HTML4
LAYERNN4 Zastąpione bezwzględnie pozycjonowanymi DIV-ami
LEGEND NS6 IE4IE5 HTML4 ALIGN
LINN4NS6IE3IE4IE5HTML3HTML4 TYPE, VALUE
LINKNN4NS6IE3IE4IE5HTML3HTML4
LISTINGNN4 IE3IE4IE5HTML3 usunięte z HTML 4.0
MAPNN4NS6IE3IE4IE5HTML3HTML4
MARQUEE IE3IE4IE5
MENUNN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0COMPACT
METANN4NS6IE3IE4IE5HTML3HTML4
MULTICOLNN4
NOBRNN4NS6IE3IE4IE5HTML3HTML4
NOEMBEDNN4
NOFRAMESNN4NS6IE3IE4IE5 HTML4
NOLAYERNN4 Usunięte całkowicie
NOSCRIPTNN4NS6 IE4IE5 HTML4
OBJECTNN4NS6IE3IE4IE5 HTML4 ALIGN, BORDER, HSPACE, VSPACE
OLNN4NS6IE3IE4IE5HTML3HTML4 COMPACT, START, TYPE
OPTIONGROUP NS6 HTML4
OPTIONNN4NS6IE3IE4IE5HTML3HTML4
PNN4NS6IE3IE4IE5HTML3HTML4 ALIGN
PARAMNN4NS6IE3IE4IE5HTML3HTML4
PLAINTEXTNN4 IE3IE4IE5HTML3 usunięto z HTML 4.0
PRENN4NS6IE3IE4IE5HTML3HTML4
Q NS6IE3IE4IE5 HTML4
RT IE5
RUBY IE5
SNN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0
SAMPNN4NS6IE3IE4IE5HTML3HTML4
SCRIPTNN4NS6IE3IE4IE5 HTML4
SELECTNN4NS6IE3IE4IE5HTML3HTML4
SERVERNN4
SMALLNN4NS6IE3IE4IE5HTML3HTML4
SPACERNN4
SPANNN4NS6IE3IE4IE5 HTML4
STRIKENN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0
STRONGNN4NS6IE3IE4IE5HTML3HTML4
STYLENN4NS6IE3IE4IE5 HTML4
SUBNN4NS6IE3IE4IE5HTML3HTML4
SUPNN4NS6IE3IE4IE5HTML3HTML4
TABLENN4NS6IE3IE4IE5HTML3HTML4 ALIGN, BGCOLOR
TBODYNN4NS6IE3IE4IE5 HTML4
TDNN4NS6IE3IE4IE5HTML3HTML4 BGCOLOR, HEIGHT, NOWRAP, WIDTH
TEXTAREANN4NS6IE3IE4IE5HTML3HTML4
TFOOT NS6IE3IE4IE5 HTML4
THNN4NS6IE3IE4IE5HTML3HTML4 BGCOLOR, HEIGHT, NOWRAP, WIDTH
THEAD NS6IE3IE4IE5 HTML4
TITLENN4NS6IE3IE4IE5HTML3HTML4
TRNN4NS6IE3IE4IE5HTML3HTML4 BGCOLOR
TTNN4NS6IE3IE4IE5HTML3HTML4
UNN4NS6IE3IE4IE5HTML3HTML4niezalecane w HTML 4.0
ULNN4NS6IE3IE4IE5HTML3HTML4 COMPACT, TYPE
VARNN4NS6IE3IE4IE5HTML3HTML4
WBRNN4NS6IE3IE4IE5
XML IE5
XMPNN4NS6IE3IE4IE5HTML3 usunięto z HTML 4.0
-
-

Informacje o oryginalnym dokumencie

- -
-


-

-
-
-{{ languages( { "en": "en/HTML_Element_Cross_Reference", "es": "es/Referencia_cruzada_de_elementos_HTML", "ja": "ja/HTML_Element_Cross_Reference" } ) }} -- cgit v1.2.3-54-g00ecf