2010-02-17 20 views

Respuesta

55

es una matriz literal. No es lo mismo que declarar new Array() - el objeto Array se puede sobrescribir en JavaScript, pero el literal de la matriz no. Aquí está un ejemplo para demostrar

// let's overwrite the Array object 
Array = function(id) { 
this.id = id; 
} 

var a = new Array(1); 
var b = []; 

console.log(a.hasOwnProperty("id")); // true 
console.log(b.hasOwnProperty("id")); // false 

console.log(a.push); // false, push doesn't exist on a 
console.log(b.push); // true, but it does on b 

b.push(2); 
console.log(b); // outputs [2] 
+4

Ooh, nice verbiage! –

+0

Siempre que 'Array' no se haya sobrescrito,' new Array() 'y' [] 'son funcionalmente idénticos. –

+4

@Tim - sí lo son. También hay una diferencia en la inicialización de los valores y la longitud: 'new Array (5)' no es lo mismo que '[5]' :) –

7

Significa una matriz.

var openTollDebug = []; 

declara la variable openTollDebug y lo inicializa a una matriz vacía. Para poner elementos en la matriz, puede hacer lo siguiente:

var stringArray = ['element1', 'element2', 'element3']; 
alert(stringArray[1]); // displays 'element2' 
var numberArray = [1, 2, 3, 4]; 
alert(numberArray[2]); // displays 3 
var objectArray = [{ name: 'john' }, { name: 'peter' }, { name: 'tom' }]; 
alert(objectArray[1].name); // displays 'peter' 
6

Es una matriz vacía, y es igual a

var openTollDebug = new Array(); 
4

Es la abreviatura de matriz vacía. Igual que la nueva matriz(). También {} es un objeto vacío. Los objetos son como tablas hash en Js así que puedes usarlo como un diccionario.

2

Crea una matriz vacía.
Esta es una buena forma de tener un objeto no nulo.
En JavaScript, es muy fácil agregar funciones y propiedades a ese objeto. Por ejemplo:

openTollDebug.title = 'hello world'; 
openTollDebug.show = function(){alert('Debug');}; 

como una matriz, puede agregar elementos:

openTollDebug.push('added item'); 
openTollDebug[3] = 'just add anywhere'; 
1

Muchas lenguas tienen construcciones para literales. El [] es un literal de Array.

var openTollDebug = []; 

es lo mismo que

var openTollDebug = new Array(); 

Sólo sé que el uso de [] prefiere por razones de rendimiento.

Hay otros literales como literales de objetos

var MyObject = { 
       name:'default', 
       age:22, 
       hobbies:["golf","video games","otherstuff"] 
} 

Aviso del literal de matriz con los datos. El [] crea una matriz vacía.

0
var b = [] //it is an array literal. 
+6

Debería verificar si hay respuestas que ya proporcionan la misma información. – Quaternion

1

Trate de usar los literales a causa del rendimiento.Usted no escribir

var obj = new Object({name: 'John'}) 

que acaba de escribir

var obj = {name: 'John'} 

También Dont write

button.onclick = new Function("alert('Clicked!')"); 

Escribes

button.onclick = function() { alert('Clicked') } 

y aquí está a link a una buena entrada en el blog sobre él

Cuestiones relacionadas