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


Ciągi JavaScript

Łańcuchy JavaScript służą do przechowywania i manipulowania tekstem.

Ciąg JavaScript to zero lub więcej znaków zapisanych w cudzysłowie.

Przykład

let text = "John Doe";

Możesz użyć pojedynczych lub podwójnych cudzysłowów:

Przykład

let carName1 = "Volvo XC60";  // Double quotes
let carName2 = 'Volvo XC60';  // 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";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';

Długość łańcucha

Aby znaleźć długość ciągu, użyj wbudowanej lengthwłaściwości:

Przykład

let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;


Postać ucieczki

Ponieważ ciągi znaków muszą być napisane w cudzysłowie, JavaScript źle zrozumie ten ciąg:

let text = "We are the so-called "Vikings" from the north.";

Sznurek zostanie pocięty na „Jesteśmy tak zwani”.

Rozwiązaniem pozwalającym uniknąć tego problemu jest użycie znaku ucieczki odwrotnego ukośnika .

Znak zmiany znaczenia odwrotnego ukośnika ( \) zamienia znaki specjalne na znaki łańcuchowe:

Code Result Description
\' ' Single quote
\" " Double quote
\\ \ Backslash

Sekwencja \"  wstawia podwójny cudzysłów w ciągu:

Przykład

let text = "We are the so-called \"Vikings\" from the north.";

Sekwencja \'  wstawia pojedynczy cudzysłów w ciągu:

Przykład

let text= 'It\'s alright.';

Sekwencja \\  wstawia odwrotny ukośnik w łańcuchu:

Przykład

let text = "The character \\ is called backslash.";

Sześć innych sekwencji specjalnych jest poprawnych w JavaScript:

Code Result
\b Backspace
\f Form Feed
\n New Line
\r Carriage Return
\t Horizontal Tabulator
\v Vertical Tabulator

Powyższe 6 znaków ucieczki zostało pierwotnie zaprojektowanych do sterowania maszynami do pisania, dalekopisami i faksami. W HTML nie mają żadnego sensu.


Łamanie długich linii kodu

Aby uzyskać najlepszą czytelność, programiści często unikają linii kodu dłuższych niż 80 znaków.

Jeśli instrukcja JavaScript nie mieści się w jednej linii, najlepszym miejscem do jej przerwania jest operator:

Przykład

document.getElementById("demo").innerHTML =
"Hello Dolly!";

Możesz także podzielić linię kodu w ciągu tekstowym za pomocą pojedynczego ukośnika odwrotnego:

Przykład

document.getElementById("demo").innerHTML = "Hello \
Dolly!";

Metoda \nie jest metodą preferowaną. Może nie mieć uniwersalnego wsparcia.
Niektóre przeglądarki nie zezwalają na spacje za \znakiem.

Bezpieczniejszym sposobem na rozbicie ciągu jest użycie dodawania ciągu:

Przykład

document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";

Nie możesz podzielić linii kodu ukośnikiem odwrotnym:

Przykład

document.getElementById("demo").innerHTML = \
"Hello Dolly!";

Ciągi JavaScript jako obiekty

Normalnie ciągi JavaScript są pierwotnymi wartościami, tworzonymi z literałów:

let x = "John";

Ale łańcuchy można również zdefiniować jako obiekty za pomocą słowa kluczowego new:

let y = new String("John");

Przykład

let x = "John";
let y = new String("John");

Nie twórz obiektów typu Strings.

Słowo newkluczowe komplikuje kod i spowalnia szybkość wykonywania.

Obiekty łańcuchowe mogą dawać nieoczekiwane wyniki:

Używając ==operatora, x i y są równe :

let x = "John";
let y = new String("John");

Używając ===operatora, x i y nie są równe :

let x = "John";
let y = new String("John");

Zwróć uwagę na różnicę między (x==y)a (x===y).

(x == y)prawda czy fałsz?

let x = new String("John");
let y = new String("John");

(x === y)prawda czy fałsz?

let x = new String("John");
let y = new String("John");

Porównanie dwóch obiektów JavaScript zawsze zwraca false .

Pełne odniesienie do ciągu

Aby uzyskać pełne odniesienie do ciągu, przejdź do naszego:

Pełne odniesienie do ciągów JavaScript .

Odwołanie zawiera opisy i przykłady wszystkich właściwości i metod ciągów.

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Użyj lengthwłaściwości, aby ostrzec długość txt.

let txt = "Hello World!";
let x = ;
alert(x);