Registro simple del uso de objetos en JavaScript
1. Crea un objeto
// crear un objeto vacío var o = {}; // Crear un objeto con dos atributos, x e y var o2 = {x: 12, y: '12', nombre: 'js'}; // El valor del atributo del autor en este objeto sigue siendo un objeto var o3 = {x: 12, autor: {nombre: 'js', edad: 23, dirección: 'China'}}; // crear un objeto vacío igual que {} var o4 = new Object (); // Agregar el atributo de nombre al objeto o4.name = 'js'Lo anterior usa dos formas de crear objetos, uno es el método literal y el otro es crear objetos usando nuevo. El objeto tras nuevo se llama constructor.
2. Acceso a objetos
De lo anterior podemos ver que hemos agregado un nombre de atributo al O4 opuesto, utilizando el número de puntos, es decir, el nombre del objeto y el nombre del atributo, que es uno de los métodos de acceso. Hay dos formas de acceder a los valores de atributos en un objeto. El primero es usar números DOT (.), Y el segundo es usar matrices (nombre del objeto [nombre del atributo]).
// crear un objeto vacío var o = {}; // Crear un objeto con dos atributos, x, y var o2 = {x: 12, y: '12', nombre: 'js'}; // El valor del atributo del autor en este objeto sigue siendo un objeto var o3 = {x: 12, autor: {nombre: 'js', edad: 23, dirección: 'China'}}; // crear un objeto vacío igual que {} var o4 = new Object (); // Agregar atributo de nombre o4.name = 'js'/** Acceso al valor del atributo del objeto*/// 1. Use el número de punto var x = o2.x; // 12 var autorafname = o3.author.name; // js var name = o4.name; // js // 2. Use el método de matriz var x2 = o2 ['x']; // 12 var autorafName2 = o3 ['autor'] ['name']; // js var name2 = o4 ['name']; // jsEs más fácil entender cómo usar números DOT para acceder a los valores de los atributos en un objeto, pero no es fácil entender cómo usar matrices. En JavaScript, todos los objetos son matrices asociativas. Los llamados datos asociativos son la forma de acceder a una matriz, pero este método no es el índice utilizado sino el índice de cadena, que se denomina matrices asociativas.
Lo anterior accede al valor del atributo del objeto se trata de conocer el nombre del atributo del objeto. ¿Qué pasa si no conoce el valor del atributo del objeto? Puede usar para/in para recorrer los valores en el objeto.
// Crear un objeto con dos propiedades, x, y, nombre var o2 = {x: 12, y: '12', nombre: 'js'}; para (p en o2) {var propiedad = p; valor var = o2 [p]; console.log (propiedad); console.log (valor); }El resultado de la impresión es:
x12y12namejs
Se puede ver que hay tres atributos en total, y sus valores se imprimen.
Si el objeto es más complicado, puede agregar algunos juicios para determinar si hay una propiedad. Entonces, ¿cómo se determina si un objeto contiene una determinada propiedad? Dado que todos los objetos heredan el objeto, hay un método de iSownProperty () en el objeto para determinar si hay una propiedad en el objeto. El valor de retorno es un booleano. Tenga en cuenta que este método solo juzgará si existen los propios atributos del objeto y no juzgará los atributos heredados por el objeto.
// Crear un objeto con dos propiedades, x, y, nombre var o2 = {x: 12, y: '12', nombre: 'js'}; var b = o2.hasownproperty ('nombre') // Verdad3. Agregar y eliminar atributos
Al principio, agregamos un atributo de nombre al objeto O4. El nuevo método es en realidad el mismo que asignar valores de atributos. También puede agregar atributos al objeto utilizando la matriz asociativa.
// Crear un objeto con dos propiedades, x, y, nombre var o2 = {x: 12, y: '12', nombre: 'js'}; // Eliminar el atributo de nombre Eliminar o2.name; var b = o2.hasownproperty ('nombre') // falso // Agregar atributo de nombre o2 ['name'] = 'javascript'; // Debido a que el atributo de nombre ya existe, aquí es reasignar el nombre o2.name = 'js'; var b3 = o2.hasownproperty ('nombre'); //VerdaderoArriba, se eliminó el atributo de nombre del objeto O2, y luego se agregó el atributo de nombre utilizando la matriz asociativa, y luego el atributo de nombre se reasignó utilizando el número de puntos.
4. Conversión entre objetos y cuerdas
ECMAScript5 tiene una conversión mutua incorporada entre objetos y cadenas. Ahora la mayoría de los navegadores principales admiten ECMAScript5. Si no lo admite, puede descargar la biblioteca de clase JSON2.JS desde Internet. Esta biblioteca se puede usar después de introducirla en un archivo.
La conversión entre un objeto y una cadena se llama serialización del objeto, lo que significa convertir el estado del objeto en una cadena o convertir una cadena en un objeto. Estas conversiones usan JSON como formato de intercambio de datos. El nombre completo de JSON es la notación de objeto JavaScript.
Use json.stringify () para convertir el objeto en una cadena; Use json.parse () para convertir la cadena en un objeto.
// Defina un objeto var o = {nombre: 'javascript', edad: 24}; // Este método es un error al convertir a un objeto. Debe usar el siguiente método // var str = "{nombre: 'javascript', edad: 24}"; // Defina correctamente la cadena de objeto var str = '{"nombre": "javascript", "edad": 24}'; // convertir el objeto en una cadena var str2 = json.stringify (o); console.log ('str2:'+str2+', type:'+(typeof str2)); // str2: {"nombre": "javascript", "edad": 24}, tipo: string // convierte la cadena en un objeto var o2 = json.parse (str); console.log ('o2:'+o2+', type:'+(typeof o2)); // o2: [objeto objeto], type: objetoLo anterior implementa la conversión mutua entre objetos y cadenas.
La breve discusión anterior sobre el uso de objetos en JS es todo el contenido que comparto con ustedes. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.