Samouczek JS

JS DOM Wprowadzenie do JS JS Dokąd Wyjście JS Oświadczenia JS Składnia JS Komentarze JS Zmienne JS JS Let JS Const Operatorzy JS Arytmetyka JS Zadanie JS Typy danych JS Funkcje JS Obiekty JS Wydarzenia JS JS Strings Metody ciągów JS Wyszukiwanie ciągów JS Szablony JS String Numery JS Metody liczbowe JS Tablice JS Metody macierzowe JS Sortowanie tablic JS Iteracja tablicy JS JS Array Const JS Daty Formaty daty JS JS Data Pobierz metody Metody ustawiania daty JS Matematyka JS JS losowo JS Booleans Porównania JS Warunki JS Przełącznik JS Pętla JS dla Pętla JS dla In Pętla JS dla Of Pętla JS, podczas gdy Przerwa JS Iterable JS Zestawy JS Mapy JS Typ JS Konwersja typu JS JS Bitwise JS RegExp Błędy JS Zakres JS JS Podnoszenie Tryb ścisły JS JS to słowo kluczowe Funkcja strzałki JS Klasy JS JS JSON Debugowanie JS Przewodnik po stylu JS Najlepsze praktyki JS Błędy JS Wydajność JS JS słowa zastrzeżone

Wersje JS

Wersje JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Krawędź Historia JS

Obiekty JS

Definicje obiektów Właściwości obiektu Metody obiektowe Wyświetlanie obiektów Akcesoria do obiektów Konstruktorzy obiektów Prototypy obiektów Iterowalne obiekty Zestawy obiektów Mapy obiektów Odniesienie do obiektu

Funkcje JS

Definicje funkcji Parametry funkcji Wywołanie funkcji Wywołanie funkcji Funkcja Zastosuj Zamknięcia funkcji

Klasy JS

Wprowadzenie do zajęć Dziedziczenie klas Klasa statyczna

JS Async

Oddzwaniania JS Asynchroniczny JS JS Obietnice JS Async/Oczekiwanie

JS HTML DOM

Wprowadzenie do DOM Metody DOM Dokument DOM Elementy DOM DOM HTML Formularze DOM DOM CSS Animacje DOM Wydarzenia DOM Odbiornik zdarzeń DOM Nawigacja DOM Węzły DOM Kolekcje DOM Listy węzłów DOM

Zestawienie komponentów przeglądarki JS

Okno JS Ekran JS Lokalizacja JS Historia JS JS Navigator Wyskakujący alert JS Czas JS Pliki cookie JS

JS Web API

Wprowadzenie do internetowego interfejsu API Interfejs API formularzy internetowych Interfejs API historii online API przechowywania danych w sieci Web Web Worker API Internetowy interfejs API pobierania Internetowy interfejs API geolokalizacji

JS AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

JS JSON

Wprowadzenie do JSON Składnia JSON JSON a XML Typy danych JSON Analiza JSON JSON Obiekty JSON Tablice JSON Serwer JSON JSON PHP JSON HTML JSON JSONP

JS kontra jQuery

Selektory jQuery jQuery HTML jQuery CSS jQuery DOM

Grafika JS

Grafika JS JS płótno JS Działka JS Chart.js Wykres JS Google JS D3.js

Przykłady JS

Przykłady JS JS HTML DOM Wejście JS HTML Obiekty HTML JS Wydarzenia JS HTML Przeglądarka JS Edytor JS Ćwiczenia JS JS Quiz Certyfikat JS

Referencje JS

Obiekty JavaScript Obiekty HTML DOM


Obiekty JavaScript


W JavaScript królują obiekty. Jeśli rozumiesz obiekty, rozumiesz JavaScript.


W JavaScript prawie „wszystko” jest obiektem.

  • Wartości logiczne mogą być obiektami (jeśli zdefiniowano je za pomocą newsłowa kluczowego)
  • Liczby mogą być obiektami (jeśli zdefiniowano je za pomocą newsłowa kluczowego)
  • Ciągi mogą być obiektami (jeśli zdefiniowano je za pomocą newsłowa kluczowego)
  • Daty są zawsze obiektami
  • Matematyka to zawsze przedmioty
  • Wyrażenia regularne są zawsze obiektami
  • Tablice są zawsze obiektami
  • Funkcje są zawsze obiektami
  • Przedmioty są zawsze przedmiotami

Wszystkie wartości JavaScript, z wyjątkiem prymitywów, są obiektami.


Prymitywy JavaScript

Wartość pierwotna to wartość, która nie ma właściwości ani metod.

Pierwotny typ danych to dane, które mają wartość pierwotną.

JavaScript definiuje 5 typów prymitywnych typów danych:

  • string
  • number
  • boolean
  • null
  • undefined

Wartości pierwotne są niezmienne (są zakodowane na stałe i dlatego nie można ich zmienić).

jeśli x = 3,14, możesz zmienić wartość x. Ale nie możesz zmienić wartości 3,14.

WartośćRodzajKomentarz
"Witaj"strunowy„Cześć” to zawsze „Cześć”
3,14numer3,14 to zawsze 3,14
prawdalogiczneprawda to zawsze prawda
fałszywylogicznefałsz jest zawsze fałszem
zeronull (obiekt)null jest zawsze null
nieokreślonynieokreślonyundefined jest zawsze nieokreślone

Obiekty są zmiennymi

Zmienne JavaScript mogą zawierać pojedyncze wartości:

Przykład

let person = "John Doe";

Zmienne JavaScript mogą również zawierać wiele wartości.

Obiekty też są zmiennymi. Ale obiekty mogą zawierać wiele wartości.

Wartości obiektów są zapisywane jako pary nazwa : wartość (nazwa i wartość oddzielone dwukropkiem).

Przykład

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Obiekt JavaScript to zbiór nazwanych wartości

Powszechną praktyką jest deklarowanie obiektów za pomocą constsłowa kluczowego.

Przykład

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};


Właściwości obiektu

Nazwane wartości w obiektach JavaScript nazywane są właściwościami .

Nieruchomość Wartość
Imię Jan
nazwisko Łania
wiek 50
kolor oczu niebieski

Obiekty zapisane jako pary nazwa-wartość są podobne do:

  • Tablice asocjacyjne w PHP
  • Słowniki w Pythonie
  • Tabele haszujące w C
  • Mapy haszujące w Javie
  • Hasze w Ruby i Perl

Metody obiektowe

Metody to akcje , które można wykonywać na obiektach.

Właściwości obiektu mogą być zarówno wartościami pierwotnymi, innymi obiektami, jak i funkcjami.

Metoda obiektowa to właściwość obiektu zawierająca definicję funkcji .

Nieruchomość Wartość
Imię Jan
nazwisko Łania
wiek 50
kolor oczu niebieski
imię i nazwisko function() {return this.firstName + " " + this.lastName;}

Obiekty JavaScript to pojemniki na nazwane wartości, zwane właściwościami i metodami.

Więcej o metodach dowiesz się w kolejnych rozdziałach.


Tworzenie obiektu JavaScript

Dzięki JavaScript możesz definiować i tworzyć własne obiekty.

Istnieją różne sposoby tworzenia nowych obiektów:

  • Utwórz pojedynczy obiekt, używając literału obiektu.
  • Utwórz pojedynczy obiekt ze słowem kluczowym new.
  • Zdefiniuj konstruktora obiektów, a następnie utwórz obiekty skonstruowanego typu.
  • Utwórz obiekt za pomocą Object.create().

Korzystanie z literału obiektowego

Jest to najprostszy sposób na utworzenie obiektu JavaScript.

Używając literału obiektowego, zarówno definiujesz, jak i tworzysz obiekt w jednej instrukcji.

Literał obiektowy to lista par nazwa:wartość (np. wiek:50) w nawiasach klamrowych {}.

Poniższy przykład tworzy nowy obiekt JavaScript z czterema właściwościami:

Przykład

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Spacje i łamanie wierszy nie są ważne. Definicja obiektu może obejmować wiele linii:

Przykład

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

Ten przykład tworzy pusty obiekt JavaScript, a następnie dodaje 4 właściwości:

Przykład

const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

Korzystanie ze słowa kluczowego JavaScript nowy

Poniższy przykład tworzy nowy obiekt JavaScript za pomocą new Object(), a następnie dodaje 4 właściwości:

Przykład

const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

Powyższe przykłady robią dokładnie to samo.

Ale nie ma potrzeby używania new Object().

Aby uzyskać czytelność, prostotę i szybkość wykonania, użyj metody literału obiektowego.


Obiekty JavaScript są mutowalne

Obiekty są zmienne: są adresowane przez odniesienie, a nie przez wartość.

Jeżeli osoba jest przedmiotem, poniższe oświadczenie nie spowoduje utworzenia kopii osoby:

const x = person;  // Will not create a copy of person.

Obiekt x nie jest kopią osoby. To osoba . Zarówno x, jak i osoba są tym samym obiektem.

Wszelkie zmiany w x zmienią również osobę, ponieważ x i osoba to ten sam obiekt.

Przykład

const person = {
  firstName:"John",
  lastName:"Doe",
  age:50, eyeColor:"blue"
}

const x = person;
x.age = 10;      // Will change both x.age and person.age