En Javascript los arreglos son objetos, las funciones son objetos, las expresiones regulares son objetos, y ni hablar de los mismos objetos. Los objetos son caracteristicos por tener propiedades binarias, es decir, <nombre/valor>.
Objetos Literales
Los objetos literales son caracteristicos porque poseen una notación muy particular, se trata de un par de llaves las cuales envuelven las propiedades binarias <nombre/valor>:
// objeto literal vacio var Persona = {}; //objeto literal con propiedades var Persona ={ nombre: "", "primer-apellido": "", segundo_apellido: "", edad: 30, sexo: '' };
El nombre de la propiedad del objeto puede ser cualquier cosa. En el objeto Persona hay propiedades que estan entre comillas dobles y otras que no, el uso de comillas dobles para la declaración de las propiedades no es obligatorio y si no se quiere aplicar no deberia ser ningun problema, pero para propiedades como primer-apellido el cual contiene un guión en la mitad, Javascript no lo reconoce como una sola palabra, por lo cual muestra un error si se usara de tal manera, si se desea usar de tal forma se debe rodear el nombre de la propiedad entre comillas, para agregar varias palabras a una propiedad se recomienda usar un guión bajo para que no presente ningun problema como por ejemplo segundo_apellido, omitiendo asi el uso de comillas.
Para acceder a la información almacenada en las propiedades del objeto normalmente se emplean dos notaciones: corchetes "[propiedad]" y punto ".", la notación "." es la preferida y más común debido a que es mas compacta y legible:
//Actualizar los valores de las propiedades Persona.nombre = "juan" Persona["primer-apellido"] = "perez" Persona.segundo_apellido = "real" Persona.edad = 30
//acceso a propiedades de un objeto Persona.nombre //juan Persona["primer-apellido"] //perez Persona.segundo_apellido //real Persona.edad // 30
Objetos Función
Las funciones en javascript son objetos, los objetos función estan enlazados a function.prototype, la cual es una propiedad que esta incluida en cada objeto función creado cuyo valor es un objeto con una propiedad constructor en donde el valor de este es la función.
Los objetos función se crean mediante funciones literales:
//Declaración de la clase Persona var Persona = function(){ this.nombre = "juan"; this.primer_apellido = "perez"; this.segundo_apellido = "real"; this.edad = 30; };
//Instanciación del objeto persona var persona = new Persona(); //acceso a los atributos persona.nombre //juan persona.primer_apellido //perez persona["segundo_apellido"] //real persona["edad"] //30