Tipos y cálculos de variables JS
1 puntos de conocimiento
1.1 Tipos de variables
Tipo de valor VS tipo de referencia
Tipo de valor: Number / String / Boolean / Undefined / Null
Tipo de referencia:Object / Array / Function
Explicación detallada del tipo de operador
number(NaN)、string、boolean、undefined、object(object/array/null)、function
typeof 123 //number
typeof 'abc' //string
typeof true //boolean
typeof undefined //undefined
typeof null //object
typeof { } //object
typeof [ ] //object
typeof console.log //function
(1) Indefinido y nulo son iguales; (2) NaN no es igual a ningún valor, ni es igual a sí mismo.
1.2 Conversión de tipo forzado por cálculo de variable
Empalme de cuerdas
var a = 100 + 10 //110
var b = 100 + '10' //10010
== operador
100 == '100' //true
0 == ' ' //true
null == undefined //true
(1) Indefinido y nulo son iguales;
(2) NaN no es igual a ningún valor, ni es igual a sí mismo.
si declaración
var a = true;
if (a) {
} //a为true
var b = 100;
if (b) {
} //b为true
var c = ' ';
if (c) {
} //c为false
falso, nulo, indefinido, "", 0, NaN-juzgado como "fasle", el resto son "verdaderos"
operación lógica
10 && 0 //0
' ' || 'abc' //'abc'
!window.abc //true
判断一个变量会被当做 true 还是 false
var a = 100
console.log(!!a)
2 preguntas y respuestas
Tema:
* Tipos que se pueden obtener usando typeof en JS
* Cuándo usar === Cuándo usar ==
* Cuáles son las funciones integradas en
JS * Qué tipos de variables JS se clasifican según el método de almacenamiento, y describir sus características
* Cómo entender JSON
2.1 Tipos que se pueden obtener usando typeof en JS
number / string / boolean / undefined / object / function
(number) / (string) / (ture.false) / (undefined) / (null.object.array) / (funtion)
2.2 Cuándo usar === Cuándo usar ==
===
Estrictamente igual, comparará los tipos y valores de dos valores.
==
Abstractamente igual. Al comparar, la conversión de tipo se realizará primero, y luego se compararán los valores.
- Solo use == en los siguientes casos, use === en otros casos:
if (obj.a == null) {
// 这里相当于 obj.a === null || obj.a === undefined ,简写形式
// 这是 jquery 源码中推荐的写法
}
2.3 ¿Cuáles son las funciones integradas en JS?
Número / Cadena / Booleano / Objeto / Matriz / Función /
Fecha / RegExp / Error
2.4 Qué tipos de variables JS se clasifican según el método de almacenamiento y describen sus características
- Tipo de valor distinguido, tipo de referencia; tipo de
valor: Número / Cadena / Booleano / Indefinido /
Tipo de referencia nulo : Objeto / Matriz / Función - Diferencias:
①La ubicación de almacenamiento es diferente.
Tipo de valor: Ocupa un espacio fijo y se guarda en la pila. El valor en sí se guarda y se copia. Typeof () se puede utilizar para detectar el tipo de valor;
tipo de referencia: El espacio ocupado es no fijo, y se guarda en el montón. La copia es un puntero al objeto, necesita usar instanceof () para detectar el tipo de datos, y el objeto construido por el nuevo método es un tipo de referencia;
②La
asignación directa de una variable con un tipo de valor
diferente es una copia profunda; una asignación directa de una variable de tipo de referencia Es una referencia de paso, es una copia superficial;
③Puede agregar atributos y los tipos de valor de método
no pueden, pero los tipos de referencia sí pueden;
2.5 Cómo entender JSON
JSON es un objeto JS
Hay dos métodos:
①stringify: JSON.stringify convierte los objetos json en cadenas
②parse: JSON.parse analiza las cadenas en objetos json
JSON también es un formato de intercambio de datos