Se puede decir que la esencia de un programa de computadora es en gran medida la operación y la lectura y la escritura de varias información (valores) por la máquina. En JavaScript, existen múltiples tipos de valores, que se dividen en dos categorías: primitivo (tipo primitivo) y objeto (objeto).
Primitivo
Hay 5 tipos de primitivos en JavaScript:
1. Number. Todos los números, ya sean enteros o decimales, son de tipo de tipo.
2. String. Tipo de cadena.
3.Boolean. Tipo booleano, verdadero o falso.
4.NULL. Este tipo tiene solo un valor de NULL.
5.Nindefinido. Este tipo tiene solo un valor indefinido.
Objeto
Excepto primitivo, cualquier otro valor en JavaScript es un objeto (objeto). Hay varios tipos de objetos:
1. JSON Key-Value Par Object. Como {"nombre": "bob", "edad": 42}.
2. Array. Como [1,4,5,7,9].
3. Función. Como function () {return true;}. Hay dos formas de funciones en JavaScript: 1. Bloque de código ejecutable; 2. Constructor de clase. No importa qué forma exista, una función siempre es un objeto.
JS viene con objetos globales
Para facilitar la programación, JavaScript viene con un objeto global, que tiene las siguientes 7 variables miembros, todas las cuales son objeto:
1.Math. Se puede completar una serie de operaciones matemáticas complejas llamando al método del objeto matemático.
2. Number. Se pueden obtener algunos valores especiales accediendo a variables miembros de objetos numéricos.
3.Arrán. El constructor de un objeto de matriz.
4. Función. El constructor del objeto de función.
5. Date. El constructor del objeto de fecha.
6.Regexp. El constructor del objeto de expresión regular.
7.Error. El constructor del objeto de error.
Al escribir programas, dado que puede acceder directamente a las 7 variables anteriores, también puede usarlos como objetos globales.
Inmutable vs mutable
Primitivo y objetos tienen una distinción clara: todas las primitivas son inmutables y todos los objetos son mutables. Tomando el tipo de cadena como ejemplo, después de llamar al método de cadena para editarlo, JavaScript guardará el resultado editado en un nuevo objeto de cadena, y el objeto de cadena original no cambiará nada:
La copia del código es la siguiente:
var s = "prueba";
S.ToUpperCase (); // Devuelve un nuevo objeto de cadena "prueba"
console.log (s); // "Test" - Las cadenas originales no cambia
experimento
En JavaScript, puede obtener el tipo de cierto valor utilizando la palabra clave TypeOf.
Obtenga el tipo de número:
La copia del código es la siguiente:
var n = 42;
console.log (typeof n);
El resultado de salida del programa es número.
Obtenga el tipo de cadena:
La copia del código es la siguiente:
var s = "prueba";
console.log (typeof s);
El resultado de salida del programa es cadena.
Obtenga el tipo de valor booleano:
La copia del código es la siguiente:
var b = verdadero;
console.log (typeof b);
El resultado de salida del programa es booleano.
Obtenga el tipo de nulo:
La copia del código es la siguiente:
var x = nulo;
console.log (typeof x);
El programa debe generar nulo, pero en realidad genera objeto. La razón es que cuando se usa la operación de typeof en valores nulos, el programa devolverá el objeto: este es un error que ha existido desde la primera versión de JavaScript. Durante la formulación del estándar de Ecmascript, hubo algunos debates interesantes sobre si solucionar este error: http://wiki.ecmascript.org/doku.php?id=harmony:TypeOf_Null; La conclusión final es que solucionar este error causará problemas a demasiados sitios web, por lo que no se solucionará por el momento.
Obtenga el tipo indefinido:
La copia del código es la siguiente:
var y = indefinido;
console.log (typeof y);
El resultado de salida del programa no está definido.
Obtenga el tipo de objeto JSON:
La copia del código es la siguiente:
var j = {"nombre": "bob", "edad": 42};
console.log (typeof j);
El resultado de salida del programa es objeto.
Obtenga el tipo de objeto de matriz:
La copia del código es la siguiente:
var a = [2,3,5,7,11];
console.log (typeOf a);
El resultado de salida del programa es objeto.
Obtenga el tipo de objeto de función:
La copia del código es la siguiente:
var f = function () {return true;};
console.log (typeof f);
El objeto de función es bastante especial, y el operador typeOf devuelve el resultado como función.