English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de JavaScript

Objetos de JavaScript

Funciones de JavaScript

JS HTML DOM

BOM del navegador JS

Tutoriales básicos de AJAX

Manual de referencia de JavaScript

Creación de objetos de JavaScript

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基元

原始值是没有属性或方法的值。

在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乔达里
age22
location新德里

您将在下一章中了解有关属性的更多信息。

对象方法

方法是作为对象属性值的函数,因此是对象可以执行的任务。

方法存储在属性中作为函数定义.

属性适当的价值
firstName维沙尔
lastName乔达里
age22
location新德里
getNamefunction() { return this.firstName + " " + this.lastName;}

注意:方法是作为属性存储的函数。

创建一个JavaScript对象

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‹/›

使用new Object()

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

es el método más común y preferido, ya que es menos probable que aparezcan resultados inesperados e inconsistentes.

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.

Los objetos de JavaScript son mutables

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áneamente
Prueba veamos‹/›

Comparación de objetos

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 false
Prueba 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 true
Prueba veamos‹/›