En JavaScript, una matriz es un objeto especial cuya propiedad se llama entero positivo, y su propiedad de longitud cambiará a medida que los miembros de la matriz aumenten o disminuyan. Al mismo tiempo, algunos métodos utilizados para realizar operaciones de matriz se heredan del constructor de matriz. Para un objeto ordinario, si todos los nombres de sus propiedades son enteros positivos y tienen atributos de longitud correspondientes, entonces aunque el objeto no es creado por el constructor de la matriz, todavía presenta el comportamiento de una matriz. En este caso, estos objetos se denominan "objetos de clase de matriz". Aquí hay un objeto de matriz de clase simple:
La copia del código es la siguiente:
var o = {0:42, 1:52, 2:63, longitud: 3}
console.log (o);
A diferencia de los objetos ordinarios, los objetos de matriz de clases tienen una característica: los métodos de operación de matrices se pueden aplicar en los objetos de matriz de clases. Por ejemplo, en el estándar EcMascript 5, el objeto anterior O se puede fusionar en una cadena utilizando los siguientes métodos:
La copia del código es la siguiente:
console.log (array.prototype.join.call (o)); // "42,52,63"
También puede usar el método SLICE () para obtener subarrays en objetos de matriz de clase:
La copia del código es la siguiente:
console.log (array.prototype.slice.call (o, 1, 2)); // [52]
En el entorno del navegador, la declaración Docum.GetElementsByTagName () devuelve un objeto de matriz de la clase. En las llamadas de funciones, la variable de argumentos (guarda los parámetros aprobados) en el código de función también es un objeto de matriz de la clase.
En el estándar EcMascript 5, String String es un objeto de matriz de clase de solo lectura:
La copia del código es la siguiente:
var s = "Historia";
console.log (s [3]); // t
console.log (array.prototype.join.call (s, "")); // h istory