Podstawowe typy danych:Dostęp do wartości, który pozwala manipulować faktyczną wartością zapisaną w zmiennej. Wartości typu bazowego odnoszą się do prostych segmentów danych.
Istnieje pięć podstawowych typów danych:Undefined、Null、String、Number、Boolean。
Rodzaj cytowania:Podczas kopiowania zmiennej obiektu jest to referencja obiektu, która jest manipulowana, ale przy dodawaniu właściwości do obiektu jest faktycznie przedmiotem manipulacji. Wartości typu referencyjnego to obiekty, które mogą składać się z wielu wartości.
Istnieje kilka rodzajów cytowań:obiekt, tablicę, RegExp, datę, funkcję, specjalne podstawowe typy owijaczy (String, Number, Boolean) oraz monolityczne wbudowane obiekty (Globalne, Matematyczne).
Dla różnicy między wartościami typu bazowego a typem referencyjnym:
(1)Wartości typu referencyjnego dodają właściwości i metody, podczas gdy wartości typu bazowego tego nie mogą być możliwe。
(2)Podczas kopiowania wartości zmiennej, typ bazowy tworzy nową wartość na obiekcie zmiennej i kopiuje ją do nowej zmiennej. Od tego czasu,Każde działanie tych dwóch zmiennych nie wpływa na drugą; Typ odniesienia polega na skopiowaniu kopii wartości zapisanej w obiekcie zmiennej do nowej zmiennej, ale wartość obu zmiennych wskazuje na obiekt przechowywany w stercie, czyli faktycznie odnoszą się do tego samego obiektu.Zmiana jednej zmiennej wpływa na drugą。
Odwołując się do wartości typów, używając tablicy jako przykładu:
Parametry przekazywania: Pass by value, kopiuj wartość spoza funkcji do parametru wewnątrz funkcji (zmiennej lokalnej), gdy zmienna lokalna jest obsługiwana, zmiana zmiennej lokalnej zostanie odzwierciedlona poza funkcją, ale nie wpłynie to na wartość spoza funkcji.
Oczywiście, gdy używa się obiektów, może być trudno to zrozumieć:
Oczywiście parametry są przekazywane przez wartość, więc dlaczego utworzona instancja może również otrzymać atrybut nazwy dodany w setName()?
Ponieważ obj i p odnoszą się do tego samego obiektu, obj będzie miał dostęp do tego samego obiektu przez odwołanie, nawet jeśli jest przekazywany przez wartość. Spójrz na poniższy przykład, żeby to było jasne.
Przepisz obiekt obj wewnątrz funkcji, w tym momencie obiekt odwołuje się do obiektu lokalnego, a zewnętrzne p pozostaje oryginalnym odniesieniem, więc nie zmieni się.
Rodzaje testów:
typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。
instanceof: Określ, czy jest to typ obiektu.
|