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


Typy danych JavaScript

Zmienne JavaScript mogą przechowywać różne typy danych: liczby, ciągi, obiekty i nie tylko:

let length = 16;                               // Number
let lastName = "Johnson";                      // String
let x = {firstName:"John", lastName:"Doe"};    // Object

Pojęcie typów danych

W programowaniu ważnym pojęciem są typy danych.

Aby móc operować na zmiennych, ważne jest, aby wiedzieć coś o typie.

Bez typów danych komputer nie może bezpiecznie rozwiązać tego problemu:

let x = 16 + "Volvo";

Czy dodanie „Volvo” do szesnastu ma sens? Czy spowoduje to błąd, czy też wynik?

JavaScript potraktuje powyższy przykład jako:

let x = "16" + "Volvo";

Podczas dodawania liczby i ciągu, JavaScript potraktuje liczbę jako ciąg.

Przykład

let x = 16 + "Volvo";

Przykład

let x = "Volvo" + 16;

JavaScript ocenia wyrażenia od lewej do prawej. Różne sekwencje mogą dawać różne wyniki:

JavaScript:

let x = 16 + 4 + "Volvo";

Wynik:

20Volvo

JavaScript:

let x = "Volvo" + 16 + 4;

Wynik:

Volvo164

W pierwszym przykładzie JavaScript traktuje 16 i 4 jako liczby, dopóki nie osiągnie „Volvo”.

W drugim przykładzie, ponieważ pierwszy operand jest łańcuchem, wszystkie operandy są traktowane jako łańcuchy.



Typy JavaScript są dynamiczne

JavaScript ma typy dynamiczne. Oznacza to, że ta sama zmienna może być używana do przechowywania różnych typów danych:

Przykład

let x;           // Now x is undefined
x = 5;           // Now x is a Number
x = "John";      // Now x is a String

Ciągi JavaScript

Ciąg (lub ciąg tekstowy) to seria znaków, takich jak „Jan Kowalski”.

Ciągi znaków są pisane w cudzysłowie. Możesz użyć pojedynczych lub podwójnych cudzysłowów:

Przykład

let carName1 = "Volvo XC60";   // Using double quotes
let carName2 = 'Volvo XC60';   // Using single quotes

Możesz używać cudzysłowów wewnątrz ciągu, o ile nie pasują do cudzysłowów otaczających ciąg:

Przykład

let answer1 = "It's alright";             // Single quote inside double quotes
let answer2 = "He is called 'Johnny'";    // Single quotes inside double quotes
let answer3 = 'He is called "Johnny"';    // Double quotes inside single quotes

Więcej o ciągach dowiesz się w dalszej części tego samouczka.


Liczby JavaScript

JavaScript ma tylko jeden rodzaj liczb.

Liczby mogą być zapisywane z lub bez miejsc dziesiętnych:

Przykład

let x1 = 34.00;     // Written with decimals
let x2 = 34;        // Written without decimals

Liczby bardzo duże lub bardzo małe można zapisać w notacji naukowej (wykładniczej):

Przykład

let y = 123e5;      // 12300000
let z = 123e-5;     // 0.00123

Więcej o liczbach dowiesz się w dalszej części tego samouczka.


Wartości logiczne JavaScript

Wartości logiczne mogą mieć tylko dwie wartości: truelub false.

Przykład

let x = 5;
let y = 5;
let z = 6;
(x == y)       // Returns true
(x == z)       // Returns false

Wartości logiczne są często używane w testach warunkowych.

Więcej o testowaniu warunkowym dowiesz się w dalszej części tego samouczka.


Tablice JavaScript

Tablice JavaScript są pisane w nawiasach kwadratowych.

Pozycje tablicy są oddzielone przecinkami.

Poniższy kod deklaruje (tworzy) tablicę o nazwie cars, zawierającą trzy elementy (nazwy samochodów):

Przykład

const cars = ["Saab", "Volvo", "BMW"];

Indeksy tablicy są liczone od zera, co oznacza, że ​​pierwszy element to [0], drugi to [1] i tak dalej.

Więcej o tablicach dowiesz się w dalszej części tego samouczka.


Obiekty JavaScript

Obiekty JavaScript są pisane w nawiasach klamrowych {}.

Właściwości obiektu są zapisywane jako pary nazwa:wartość, oddzielone przecinkami.

Przykład

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

Obiekt (osoba) w powyższym przykładzie ma 4 właściwości: imię, nazwisko, wiek i kolor oczu.

Więcej o obiektach dowiesz się w dalszej części tego samouczka.


Rodzaj operatora

Możesz użyć typeofoperatora JavaScript, aby znaleźć typ zmiennej JavaScript.

Operator typeofzwraca typ zmiennej lub wyrażenia:

Przykład

typeof ""             // Returns "string"
typeof "John"         // Returns "string"
typeof "John Doe"     // Returns "string"

Przykład

typeof 0              // Returns "number"
typeof 314            // Returns "number"
typeof 3.14           // Returns "number"
typeof (3)            // Returns "number"
typeof (3 + 4)        // Returns "number"

Więcej o typeof dowiesz się w dalszej części tego samouczka.


Nieokreślony

W JavaScript zmienna bez wartości ma wartość undefined. Typ to również undefined.

Przykład

let car;    // Value is undefined, type is undefined

Każdą zmienną można opróżnić, ustawiając jej wartość na undefined. Typ będzie również undefined.

Przykład

car = undefined;    // Value is undefined, type is undefined

Puste wartości

Pusta wartość nie ma nic wspólnego z undefined.

Pusty ciąg ma zarówno prawidłową wartość, jak i typ.

Przykład

let car = "";    // The value is "", the typeof is "string"

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Użyj komentarzy, aby opisać poprawny typ danych następujących zmiennych:

let length = 16;            // 
let lastName = "Johnson";   // 
const x = {
  firstName: "John",
  lastName: "Doe"
};                          //