Tipos Básicos de Dados:Acesso ao valor, que permite manipular o valor real salvo na variável. Valores de tipo base referem-se a segmentos de dados simples.
Existem cinco tipos básicos de dados:Undefined、Null、String、Number、Boolean。
Tipo de Citação:Ao copiar uma variável de um objeto, é a referência do objeto que está sendo manipulada, mas ao adicionar propriedades ao objeto, é o objeto real que está sendo manipulado. Valores de tipo de referência são objetos que podem ser compostos por múltiplos valores.
Existem vários tipos de citações:objeto, Array, RegExp, Data, Função, tipos básicos especiais de wrapper (String, Number, Boolean) e objetos monolíticos embutidos (Global, Matemática).
Para a diferença entre valores de tipo base e valores de tipo de referência:
(1)Valores de tipo de referência adicionam propriedades e métodos, enquanto valores de tipo base não podem。
(2)Ao copiar um valor de variável, o tipo base cria um novo valor no objeto variável e o copia para a nova variável. Desde então,Qualquer ação das duas variáveis não afeta a outra; O tipo de referência é copiar uma cópia do valor armazenado no objeto da variável para a nova variável, mas o valor de ambas as variáveis aponta para um objeto armazenado no heap, ou seja, elas realmente se referem ao mesmo objeto.Mudar uma variável afeta a outra。
Referenciando valores de tipo, usando um array como exemplo:
Parâmetros de passagem: Valor de passo, copie o valor fora da função para o parâmetro dentro da função (uma variável local); quando a variável local é operada, a mudança da variável local será refletida fora da função, mas isso não afetará o valor fora da função.
Claro, pode ser difícil entender ao usar objetos:
Obviamente, os parâmetros são passados por valor, então por que a instância p criada também pode adicionar o atributo name em setName()?
Como obj e p se referem ao mesmo objeto, obj acessará o mesmo objeto por referência, mesmo que ele seja passado por valor. Dê uma olhada no exemplo abaixo para esclarecer.
Reescreva o objeto obj dentro da função, nesse momento o objeto obj está referenciando um objeto local, e o p externo ainda é a referência original, então não mudará.
Tipos de ensaios:
typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。
instanceof: Determine se é um tipo de objeto.
|