Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
by
Difficulty:BeginnerLength:ShortLanguages:
This post is part of a series called JavaScript Succinctly.
Math Function

Polish (Polski) translation by Krzysztof Kaptur (you can also view the original English article)

Następujące punkty podsumowują, co powinieneś wiedzieć po przeczytaniu tej książki (oraz przerobieniu przykładów). Przeczytaj wszystkie podsumowania i jeżeli czegoś nie rozumiesz to wróć do odpowiedniego tematu z książki.

  • Obiekt składa się z nazwanych właściwości, które przechowują wartości.
  • Prawie wszystko w JavaScript może zachowywać się jak obiekt. Złożone wartości są obiektami, proste wartości mogą być traktowane jak obiekty. Dlatego możesz usłyszeć, że wszystko w JavaScript jest obiektem.
  • Obiekty są tworzone poprzez użycie konstruktora funkcji new, lub przez użycie literału.
  • Konstruktory funkcji są obiektami (obiektami Function()), dlatego że w JavaScript obiekty tworzy się za pomocą obiektów. 
  • JavaScript posiada dziewięć wbudowanych konstruktorów funkcji: Object(), Array(), String(), Number(), Boolean(), Function(), Date(), RegExp() oraz Error(). Konstruktory String(), Number() oraz Boolean() mają dwojaką rolę w dostarczaniu a) prostych wartości oraz b) opakowań obiektów, jeśli chcemy by proste wartości zachowywały się jak obiekty.
  • Wartości null, undefined, "string", 10, true, oraz false są prostymi wartościami, nie posiadają charakterystyki obiektów, chyba że będą jak one traktowane.
  • Kiedy konstruktory Object(), Array(), String(), Number(), Boolean(), Function(), Date(), RegExp(), oraz Error() są wywołane poprzez użycie słowa kluczowego new, obiekt który zostanie stworzony nazywany jest "obiektem złożonym".
  • "string", 10, true, oraz false, w ich prymitywnej formie, nie posiadają właściwości obiektów, chyba że zostaną jako takowe użyte; wtedy JavaScript, za naszymi plecami, tworzy obiekt opakowujący, dzięki czemu wyżej wymienione wartości mogą być traktowane jak obiekt.
  • Proste wartości przechowywane są przez wartość i są dosłownie kopiowane. Złożone wartości obiektu natomiast, przechowywane są poprzez odniesienia i kiedy są kopiowane, to właśnie przez odniesienia.
  • Proste wartości są równe względem siebie, gdy ich wartości są równe, z drugiej strony, złożone obiekty są równe wyłącznie, gdy odniesienia mają te same wartości. To znaczy: złożone wartości są sobie równe, tylko i wyłącznie, gdy obie odnoszą się do tego samego obiektu.
  • W związku z naturą złożonych obiektów i odniesień, obiekty w JavaScript mają dynamiczne właściwości.
  • W JavaScript właściwości wbudowanych obiektów, jak i tych stworzonych przez użytkownika mogą być manipulowane w każdym momencie.
  • Wywoływanie/tworzenie/aktualizowanie właściwości obiektów jest dokonywane poprzez użycie notacji kropkowej lub nawiasowej. Notacja nawiasowa jest wygodna w sytuacji, gdy właściwość obiektu, którą chcemy manipulować jest w formie wyrażenia (np. Array['prototype']['join'].apply()).
  • Odwołując się do właściwości obiektu, łańcuch zależności najpierw sprawdza obiekt do którego właściwości się zwracamy. Jeżeli właściwości tam nie ma, szukana jest w konstruktorze funkcji we właściwości prototype. Jeżeli tam jej nie ma, w związku z tym, że prototyp zawiera wartość obiektu i wartość tworzona jest przy użyciu konstruktora Object(), właściwość szukana jest we właściwości prototype konstruktora Object()(Object.prototype). Jeżeli właściwości nie została tam znaleziona, to przypisana jest jest wartość undefined.
  • Łańcuch zależności prototype jest sposobem w jaki dziedziczenie zostało zaprojektowane w JavaScript (tzw. dziedziczenie prototypowe ).
  • Poprzez łańcuch zależności właściwości (tzw. dziedziczenie prototypowe) wszystkie obiekty dziedziczą od Object(), ponieważ właściwość prototype jest sama w sobie obiektem Object()
  • Funkcje w JavaScript są obywatelami pierwszej kategorii: są obiektami i posiadają właściwości i wartości.
  • Słowo-klucz this, użyte w środku funkcji, jest pospolitym sposobem odniesienia się do obiektu zawierającego funkcję.
  • Wartość this jest określana podczas przetwarzania, w odniesieniu do kontekstu w jakim funkcja została przywołana.
  • Użyte w globalnym zakresie (global scope) słowo kluczowe this odwołuje się do globalnego obiektu.
  • JavaScript używa funkcji, by stworzyć unikalny zakres.
  • JavaScript dostarcza globalny zakres i tam zawarty jest cały kod.
  • Funkcje (zwłaszcza hermetyczne) tworzą łańcuch zakresu dla rozwiązań szukania wartości.
  • Łańcuch zakresu jest ustawiony zgodnie z kodem, a niekoniecznie zgodnie z sytuacją w jakiej funkcja została przywołana. To pozwala funkcji na dostęp do zakresu, w którym funkcja była napisana, nawet jeśli zostaje przywołana w innym położeniu. Wynik jest zwany zamknięciem.
  • Wyrażenia i zmienne zadeklarowane w funkcji bez użycia słowa var mają właściwości globalne. Jednak twierdzenia funkcji wewnątrz zakresu funkcji pozostają zdefiniowane w zakresie, w którym zostały napisane.
  • Funkcje i zmienne zadeklarowane (bez var) w zakresie globalnym stają się właściwościami obiektów globalnych.
  • Funkcje i zmienne zadeklarowane (z var) w zakresie globalnym stają się zmiennymi globalnymi.

Wnioski

Dziękuję za uwagę!

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.