En el siguiente código de javascript se asigna []
como el valor de una variable, ¿qué significa?¿Qué significa [] en JavaScript?
var openTollDebug = [];
En el siguiente código de javascript se asigna []
como el valor de una variable, ¿qué significa?¿Qué significa [] en JavaScript?
var openTollDebug = [];
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]
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'
Es una matriz vacía, y es igual a
var openTollDebug = new Array();
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.
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';
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.
var b = [] //it is an array literal.
Debería verificar si hay respuestas que ya proporcionan la misma información. – Quaternion
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
Ooh, nice verbiage! –
Siempre que 'Array' no se haya sobrescrito,' new Array() 'y' [] 'son funcionalmente idénticos. –
@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]' :) –