English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Los objetos están compuestos por属性yMétodosEl tipo de datos compuesto por la colección.
Al igual que en muchos otros lenguajes de programación, se puede comparar el objeto de JavaScript con el objeto de la vida real.
En JavaScript, prácticamente todo es un objeto:
La cadena puede ser un objeto (si se define con la palabra clave new)
El número puede ser un objeto (si se define con la palabra clave new)
El valor booleano puede ser un objeto (si se define con la palabra clave new)
La fecha siempre es un objeto
La matemática siempre es un objeto
El array siempre es un objeto
La expresión regular siempre es un objeto
函数永远是对象
Object就是对象
除原语外,所有JavaScript值都是对象。
原始值是没有属性或方法的值。
在JavaScript中,有5种原始类型:
string
number
boolean
null
undefined
JavaScript变量只能包含一个值。
var user = "oldtoolbag.com";Prueba veamos‹/›
对象也是变量,但是对象可以包含许多值。
可以将对象写为name:value对,并用冒号(:)分隔。
var user = {firstName: "维沙尔", lastName: "乔达里", age:22, location: "Nueva Delhi"};Prueba veamos‹/›
JavaScript对象是无序属性的集合。
属性是对象中名称和值之间的关联,并且可以包含任何数据类型。
属性通常是指对象的特征。
属性 | 属性值 |
---|---|
firstName | 维沙尔 |
lastName | 乔达里 |
age | 22 |
location | 新德里 |
您将在下一章中了解有关属性的更多信息。
方法是作为对象属性值的函数,因此是对象可以执行的任务。
方法存储在属性中作为函数定义.
属性 | 适当的价值 |
---|---|
firstName | 维沙尔 |
lastName | 乔达里 |
age | 22 |
location | 新德里 |
getName | function() { return this.firstName + " " + this.lastName;} |
注意:方法是作为属性存储的函数。
JavaScript有许多预定义的对象。另外,您可以创建自己的对象。
有多种创建新对象的方法:
Los dos ejemplos anteriores son completamente iguales. No es necesario usar new Object().对象常量,它使用大括号:{}
Los dos ejemplos anteriores son completamente iguales. No es necesario usar new Object().对象构造函数,它使用new Object()
或者,您可以先创建一个Constructor ,然后示例化一个调用该函数的对象
Los dos ejemplos anteriores son completamente iguales. No es necesario usar new Object().对象常量是创建JavaScript对象的最简单方法。
Los dos ejemplos anteriores son completamente iguales. No es necesario usar new Object().对象常量,您可以在一个语句中定义和创建一个对象。
以下示例创建一个具有四个属性的新JavaScript对象:
var user = {firstName: "维沙尔", lastName: "乔达里", age:22, location: "Nueva Delhi"};Prueba veamos‹/›
对象定义可以跨越多行:
var user = { firstName: "维沙尔", lastName : "乔达里", age : 22, location : "新德里" };Prueba veamos‹/›
Los dos ejemplos anteriores son completamente iguales. No es necesario usar new Object().对象构造函数这是创建JavaScript对象的另一种方法。
以下示例创建一个具有四个属性的新JavaScript对象:
var user = new Object(); user.firstName = "维沙尔"; user.lastName = "乔达里"; user.age = 22 ;Prueba veamos‹/›
user.location = "New Delhi";
Los dos ejemplos anteriores son completamente iguales. No es necesario usar new Object().UsandoObjeto literal
Usando constructor
Además, puede crear un objeto en dos pasos:ConstructorDefinición del tipo de objeto (se usa mayúscula en la primera letra del nombre)
Ejemplo de creación de objeto usando la palabra clave new
El siguiente ejemplo define el tipo de objeto mediante la escritura de un constructor:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; }
Ahora podemos crear un objeto llamadouser1como se muestra a continuación:
var user1 = new User("Vishal", "Jodari", 22, "New Delhi");Prueba veamos‹/›
Discutiremos esto en la parte posterior de este tutorial.Constructor.
Mutable es una variable que se puede cambiar. En JavaScript, solo los objetos y los arreglos son mutables, no los valores primitivos.
Objeto mutablees un objeto cuyo estado se puede modificar después de su creación.
InmutableUn objeto inmutable es uno cuyo estado no puede cambiarse una vez creado.
cadenaynúmeroesInmutable. Vamos a entender esto con un ejemplo:
var immutableString = "Hello"; // En el código anterior, se creó un nuevo objeto con un valor de cadena. immutableString = immutableString + "World"; // Ahora adjuntaremos "World" al valor existente.
Después de adjuntar "immutableString" a un valor de cadena, ocurrirán los siguientes eventos:
Se recupera el valor existente de "immutableString".
"World" se adjunta al valor existente de "immutableString".
Luego se asigna el valor resultante a un nuevo bloque de memoria.
Ahora, el objeto "immutableString" apunta al nuevo espacio de memoria creado.
El espacio de memoria creado anteriormente ahora puede ser reciclado por el recolector de basura.
Los objetos son mutables: se acceden a través de referencias en lugar de valores.
Si user es un objeto, la siguiente instrucción no creará una copia de ese usuario:
var x = user; // Esto no creará una copia de user.
El objeto x no es una copia de user, es user. x y user son el mismo objeto.
Cualquier cambio en x también cambiará user, porque x y user son el mismo objeto.
var user = {firstName: "维沙尔", lastName: "乔达里", age:22, location: "Nueva Delhi"}; var x = user; x.location = "Goa";// Esto cambiará tanto x.location como user.location simultáneamentePrueba veamos‹/›
En JavaScript, los objetos son tipos de referencia. Incluso si dos objetos diferentes tienen las mismas propiedades, nunca serán iguales.
// Dos variables, dos objetos diferentes con las mismas propiedades var fruit = {name: "apple"}; var fruitbear = {name: "apple"}; fruit == fruitbear; // Retorna false fruit === fruitbear; // Retorna falsePrueba veamos‹/›
Sólo comparar la referencia del mismo objeto con sí mismo dará true:
// Dos variables, un objeto var fruit = {name: "apple"}; var fruitbear = fruit; // Asignar la referencia del objeto fruit a fruitbear // Aquí, fruit y fruitbear apuntan al mismo objeto fruit == fruitbear; // Retorna true fruit === fruitbear; // Retorna truePrueba veamos‹/›