false.toString (); // 'falso' [1, 2, 3] .ToString (); // '1,2,3'Function foo () {} foo.bar = 1; foo.bar; // 1Una cosa que a menudo se malinterpreta es que las constantes numéricas no pueden considerarse como objetos, pero de hecho las constantes numéricas aún pueden considerarse como objetos. Esto se debe a que el analizador JavaScript comete un error al analizar los operadores de puntos y los trata como características de punto flotante.
2.ToString (); // eleva sintaxerror
De hecho, tenemos muchas formas de hacer que una constante numérica se comporte como un objeto.
2..ToString (); // El segundo punto se reconoce correctamente2 .ToString (); // Tenga en cuenta el espacio dejado al punto (2) .ToString (); // 2 se evalúa primero
Objeto como tipo de datos
Los objetos en JavaScript se pueden usar como tablas hash, y contienen principalmente la relación correspondiente entre claves y valores.
Use el símbolo {} para crear un objeto simple. Este objeto recién creado heredará de Object.Prototype y no contiene propiedades que se define a sí misma.
var foo = {}; // un nuevo objeto vacío // un nuevo objeto con una propiedad 'prueba' con valor 12var bar = {test: 12};Acceder a las propiedades del objeto
Podemos usar dos formas de acceder a los objetos JavaScript, a saber, el operador DOT. y el operador del soporte [].
var foo = {nombre: 'Kitten'} foo.name; // Kittenfoo ['Nombre']; // kittenvar get = 'name'; foo [get]; // Kittenfoo.1234; // SyntaxErrorfoo ['1234']; // obrasLos efectos de los dos operadores son casi los mismos, la única diferencia es que el operador del soporte permite configuraciones dinámicas de propiedades y los nombres de atributos pueden tener errores de sintaxis. (Se ha explicado el tercer caso en el ejemplo anterior)
Eliminar las propiedades del objeto
La única forma de eliminar una propiedad es usar Eliminar, establecer el valor de la propiedad en indefinido o nulo, simplemente elimine el valor asociado con la propiedad y realmente no elimina la propiedad en sí.
var obj = {bar: 1, foo: 2, baz: 3}; obj.bar = undefined; obj.foo = null; eliminar obj.baz; para (var i en obj) {if (obj.hasownproperty (i)) {console.log (i, '' + obj [i]); }}La barra de salida anterior indefinida y foo nula, solo Baz se elimina realmente.
Debe explicarse aquí que Delete solo puede eliminar atributos, no variables. Por lo tanto, al definir las variables, debemos desarrollar el buen hábito de escribir var. En cualquier momento, las variables deben declararse utilizando la palabra clave VAR. Porque si no escribe VAR, la variable se confundirá con el objeto global y creará una nueva propiedad.
Este ejemplo da la respuesta con bastante claridad, A es una variable, y B es solo una propiedad de un objeto global.
Propiedades de objetos con nombre
Var test = {'case': 'Soy una palabra clave, por lo que debo anotar como una cadena', eliminar: 'Soy una palabra clave, por lo que yo también' // eleva sintaxerror};Las propiedades de un objeto se pueden nombrar con caracteres o cadenas normales. También debido a un diseño incorrecto del analizador JavaScript, el segundo método de representación en el ejemplo anterior arrojará un error en ECMAScript 5.
La razón del error es que Delete es una palabra clave, por lo que se debe nombrar una constante de cadena para adaptarse a la versión anterior de JavaScript Parser.