Основни типове данни:Достъп до стойности, който ви позволява да манипулирате действителната стойност, запазена в променливата. Стойностите на базовия тип се отнасят до прости сегменти от данни.
Има пет основни типа данни:Undefined、Null、String、Number、Boolean。
Тип на цитат:При копиране на променлива на обект, това е референцията на обекта, който се манипулира, но при добавяне на свойства към обекта, именно самият обект се манипулира. Референтните типови стойности са обекти, които могат да бъдат съставени от множество стойности.
Съществуват няколко вида цитати:object, array, RegExp, Date, Function, специални основни типове обвивки (String, Number, Boolean) и монолитни вградени обекти (Global, Math).
За разликата между базовите и референтните типови стойности:
(1)Стойностите на референтния тип добавят свойства и методи, докато базовите стойности не могат。
(2)При копиране на стойност на променлива, базовият тип създава нова стойност върху обекта на променливата и я копира към новата променлива. Оттогава,Всяко действие на двете променливи не влияе на другата; Типът референция е да се копира копие на стойността, съхранена в променливия обект, към новата променлива, но стойността и на двете променливи сочи към обект, съхраняван в купчината, тоест те всъщност се отнасят до един и същ обект.Промяната на една променлива влияе на другата。
Позоваване на типови стойности, използвайки масив като пример:
Pass параметри: Pass by value, копирайте стойността извън функцията към параметъра вътре във функцията (локална променлива), когато локалната променлива се оперира, промяната на локалната променлива ще се отрази извън функцията, но това няма да повлияе на стойността извън функцията.
Разбира се, може да е трудно да се разбере при използване на обекти:
Очевидно параметрите се предават по стойност, така че защо създадената p инстанция може да получи и атрибута име добавен в setName()?
Тъй като obj и p се отнасят до един и същ обект, obj ще достъпва същия обект чрез препратка, дори ако се предава по стойност. Вижте примера по-долу, за да стане ясно.
Пренапишете obj обекта вътре във функцията, в момента обектът obj се отнася до локален обект, а външният p все още е оригиналният референт, така че няма да се промени.
Видове тестове:
typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。
instance of: Определете дали е тип обект.
|